Tôi đã nghĩ rằng java xóa sạch loại bỏ chung loại trong thời gian biên dịch tuy nhiên khi tôi kiểm tra nó bằng bản thân mình tôi nhận ra có một số thông tin về các loại chung trong Bytecode.hiện loại Java xóa xóa loại chung của tôi?
đây là thử nghiệm của tôi:
tôi đã viết 2 lớp:
import java.util.*;
public class Test {
List integerList;
}
và
import java.util.*;
public class Test {
List<Integer> integerList;
}
tôi biên soạn cả hai lớp và ở đâu đó trong lớp chung tôi thấy dòng này
integerList{blah blah}Ljava/util/List;{blah blah}
Signature{blah blah}%Ljava/util/List<Ljava/lang/Integer;>;{blah blah}<init>
không n generic class:
integerList{blah blah}Ljava/util/List;{blah blah}<init>
vì vậy rõ ràng là tôi có thông tin chung bên trong bytecode vì vậy điều tẩy xoá này là gì?
Điều này gây hiểu lầm. Siêu dữ liệu vẫn chỉ để phản ánh. Nó không được thống nhất. – Antimony