Я столкнулся с поведением дженериков в Java, которые я полностью не могу понять (с моим фоном .NET).
public class TestGeneric<T>
{
public void get (Object arg)
{
T temp = (T) arg;
System.out.println(temp.toString());
return;
}
}
TestGeneric<Integer> tg = new TestGeneric<Integer>();
tg.get("Crack!!!");
Скажите, пожалуйста, почему я не получаю ClassCastException в том, что в Idea я вижу temp как String
после присваивания и имеющий значение "Crack!!!"
. Кроме того, как я могу удалить это ClassCastException? Я использую JDK 1.7.0_07 для Windows 7 x64.