Java Generics - คลาส
การประกาศคลาสทั่วไปดูเหมือนการประกาศคลาสที่ไม่ใช่ทั่วไปยกเว้นว่าชื่อคลาสจะตามด้วยส่วนพารามิเตอร์ type
ส่วนพารามิเตอร์ type ของคลาสทั่วไปสามารถมีพารามิเตอร์ประเภทหนึ่งพารามิเตอร์ขึ้นไปคั่นด้วยเครื่องหมายจุลภาค คลาสเหล่านี้เรียกว่าคลาสที่กำหนดพารามิเตอร์หรือชนิดพารามิเตอร์เนื่องจากยอมรับพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์
ไวยากรณ์
public class Box<T> {
private T t;
}
ที่ไหน
Box - Box เป็นคลาสทั่วไป
T- พารามิเตอร์ประเภททั่วไปส่งผ่านไปยังคลาสทั่วไป สามารถใช้ Object ใดก็ได้
t - อินสแตนซ์ของประเภททั่วไป T.
คำอธิบาย
T คือพารามิเตอร์ type ที่ส่งผ่านไปยังคลาสทั่วไป Box และควรถูกส่งผ่านเมื่อสร้างอ็อบเจ็กต์ Box
ตัวอย่าง
สร้างโปรแกรม java ต่อไปนี้โดยใช้โปรแกรมแก้ไขที่คุณเลือก
GenericsTester.java
package com.tutorialspoint;
public class GenericsTester {
public static void main(String[] args) {
Box<Integer> integerBox = new Box<Integer>();
Box<String> stringBox = new Box<String>();
integerBox.add(new Integer(10));
stringBox.add(new String("Hello World"));
System.out.printf("Integer Value :%d\n", integerBox.get());
System.out.printf("String Value :%s\n", stringBox.get());
}
}
class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
}
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้
เอาต์พุต
Integer Value :10
String Value :Hello World