Код: Выделить всё
public class Test {
public E test(){
E test = (E) BigDecimal.ONE;
return test;
}
public static void main(String[] args) {
Test test = new Test();
test.test();
test.test().getClass();
}
}
Я понимаю, что Java выполняет стирание типа во время компиляции, но я не понимаю, почему метод getClass() запускает тип. проблема с кастингом.
На мой взгляд, код после стирания типа выглядит следующим образом:
Код: Выделить всё
public class Test {
public Object test(){
Object test = (Object) BigDecimal.ONE;
return test;
}
public static void main(String[] args) {
Test test = new Test();
test.test();
test.test().getClass();
}
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... neric-code