Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีแปลงข้อมูลชนิด Primitive ให้เป็น Wrapper Class ใน Java


Java มีคลาสที่เรียกว่า Wrapper Class อยู่ในแพ็กเกจ java.lang ซึ่งใช้ห่อหุ้มชนิดข้อมูลพื้นฐาน (primitive data types) ให้กลายเป็นอ็อบเจกต์

ด้วย Wrapper Class คุณสามารถเพิ่มค่าชนิด primitive เข้าไปใน Collection ต่างๆ เช่น ArrayList, HashMap ได้ รวมถึงส่งค่า primitive ผ่านเครือข่ายด้วยการห่อหุ้มในอ็อบเจกต์ Wrapper

ตัวอย่างการใช้งาน

import java.util.Scanner;

public class WrapperExample {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("ป้อนค่าจำนวนเต็ม: ");
        int i = sc.nextInt();
        
        // Wrapper class ของ integer
        Integer obj = new Integer(i);
        
        // แปลงอ็อบเจกต์ Integer เป็น String
        String str = obj.toString();
        System.out.println(str);
        
        // เปรียบเทียบกับอ็อบเจกต์อื่น
        int result = obj.compareTo(new Integer("124"));
        if (result == 0) {
            System.out.println("ทั้งสองค่าเท่ากัน");
        } else {
            System.out.println("ทั้งสองค่าไม่เท่ากัน");
        }
    }
}

ผลลัพธ์

ป้อนค่าจำนวนเต็ม: 1211
1211
ทั้งสองค่าไม่เท่ากัน

ข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและใช้งาน Directory ใน Java

คลาส Files ในแพ็กเกจ java.nio มีเมธอด createDirectory() ที่รับพารามิเตอร์เป็นพาธของไดเรกทอรีที่ต้องการ และสร้างไดเรกทอรีใหม่ขึ้นมา

ตัวอย่างการสร้างไดเรกทอรี

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Test {
    public static void main(String args[]) throws IOException {
        // สร้างอ็อบเจกต์ Path
        String pathStr = "D:\\sample_directory";
        Path path = Paths.get(pathStr);
        
        // สร้างไดเรกทอรี
        Files.createDirectory(path);
        System.out.println("สร้างไดเรกทอรีสำเร็จ");
    }
}

ผลลัพธ์

สร้างไดเรกทอรีสำเร็จ

การแสดงรายการไฟล์ในไดเรกทอรี

เมธอด newDirectoryStream() ของคลาส Files เปิดไดเรกทอรีที่ระบุและคืนค่า DirectoryStream ซึ่งสามารถวนลูปเพื่อดูเนื้อหาได้

ตัวอย่างการแสดงรายการไฟล์

import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FilesExample {
    public static void main(String args[]) throws IOException {
        String pathStr = "D:\\ExampleDirectory";
        Path path = Paths.get(pathStr);
        System.out.println("เนื้อหาในไดเรกทอรีที่ระบุ:");
        DirectoryStream<Path> stream = Files.newDirectoryStream(path);
        for (Path file : stream) {
            System.out.println(file.getFileName());
        }
    }
}

การกรองไฟล์ในไดเรกทอรี

สามารถใช้ DirectoryStream.Filter เพื่อกรองเฉพาะไดเรกทอรีหรือไฟล์ที่ต้องการ

ตัวอย่างการกรองเฉพาะไดเรกทอรี

import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Test {
    public static void main(String args[]) throws IOException {
        String pathStr = "D:\\ExampleDirectory";
        Path path = Paths.get(pathStr);
        System.out.println("ไดเรกทอรีในพาธที่ระบุ:");
        
        DirectoryStream.Filter<Path> filter = new DirectoryStream.Filter<Path>() {
            public boolean accept(Path file) throws IOException {
                return Files.isDirectory(file);
            }
        };
        
        DirectoryStream<Path> list = Files.newDirectoryStream(path, filter);
        for (Path file : list) {
            System.out.println(file.getFileName());
        }
    }
}

ผลลัพธ์

ไดเรกทอรีในพาธที่ระบุ:
hidden directory1
hidden directory2
sample directory1