เพื่อรองรับการเขียนโปรแกรมทั่วไป เช่นเดียวกับการตรวจสอบประเภทที่เข้มงวดยิ่งขึ้น Java จะใช้ typeerasure
-
พารามิเตอร์ประเภททั้งหมดในประเภททั่วไปจะถูกแทนที่ด้วยขอบเขต (ถ้าไม่มีขอบเขต) หรือประเภทวัตถุ วิธีนี้ bytecode จะมีเฉพาะคลาส เมธอด และอินเทอร์เฟซ
-
พิมพ์ casts เพื่อรักษาประเภท
-
มีการสร้างเมธอดบริดจ์เพื่อรักษาแนวคิดความหลากหลายในประเภท Extendedgeneric
ตัวอย่าง
import java.io.PrintStream;
import java.util.*;
public class Demo{
public Demo(){
}
public static void main(String args[]){
List my_list = new ArrayList();
my_list.add("Hi there");
String my_str;
for (Iterator iter = my_list.iterator(); iter.hasNext();
System.out.println(my_str))
my_str = (String)iter.next();
}
} ผลลัพธ์
Hi there
คลาสที่ชื่อว่า Demo มีคอนสตรัคเตอร์ที่ไม่มีเนื้อหาที่กำหนดไว้ภายใน ในฟังก์ชั่นหลัก รายการอาร์เรย์ใหม่จะถูกสร้างขึ้น และเพิ่มองค์ประกอบเข้าไปโดยใช้ฟังก์ชัน 'เพิ่ม' Aniterator ถูกกำหนดและสตริงถูกกำหนด ตัววนซ้ำจะวนซ้ำองค์ประกอบในสตริงโดยใช้ฟังก์ชัน 'hasNext' ซึ่งจะตรวจสอบว่ามีองค์ประกอบอยู่หรือไม่ จากนั้นจึงย้ายไปยังองค์ประกอบนั้น ผลลัพธ์จะถูกพิมพ์บนหน้าจอ