Почему для этого появляется ошибка времени компиляции с участием генериков?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему для этого появляется ошибка времени компиляции с участием генериков?

Сообщение Anonymous »

Для следующих 2 классов подробно описано ниже: < /p>

class Gen {
T ob;

Gen(T o) {
ob = o;
}

// Return ob.
T getob() {
return ob;
}
}

class Gen2 extends Gen {
Gen2(T o) {
super(o);
}
}

class HierDemo3 {
public static void main(String args[]) {

// Create a Gen2 object for Integers.
Gen2 iOb2 = new Gen2(99);

if(iOb2 instanceof Gen2) //compile-time error
System.out.println("iOb2 is instance of Gen2");
}
}
< /code>

Я очень хорошо знаю, что он будет компилироваться для: < /p>

iOb2 instanceof Gen2
< /code>

Звучит так, как будто нет информации об общем типе, доступной во время выполнения. Если да, то когда это доступно? Я в замешательстве ...

Подробнее здесь: https://stackoverflow.com/questions/263 ... g-generics

Вернуться в «JAVA»