Я думал, что стирание java стирает общие типы во время компиляции, однако, когда я сам тестирую его, я понял, что в Bytecode есть некоторая информация об общих типах.
вот мой тест:
Я написал 2 класса:
import java.util.*;
public class Test {
List integerList;
}
и
import java.util.*;
public class Test {
List<Integer> integerList;
}
i скомпилировал оба класса и где-то в общем классе я видел эту строку
integerList{blah blah}Ljava/util/List;{blah blah}
Signature{blah blah}%Ljava/util/List<Ljava/lang/Integer;>;{blah blah}<init>
в не общем классе:
integerList{blah blah}Ljava/util/List;{blah blah}<init>
так что, очевидно, у меня есть общая информация внутри байт-кода, так что это за стирание?