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