Ho trovato un po 'di codice generico e mi ha messo in dubbio sul suo funzionamento. Non capisco dove si ottiene il tipo generico utilizzato per T. Questo è un esempio semplificato, ma non riesco ancora a capire come questo sia un codice Java valido.Da dove viene inferta questa funzione Java dal suo tipo generico?
public static void main(String[] args) {
System.out.print(get());
}
public static <T> T get()
{
return (T) getObj();
}
public static Object getObj()
{
return Boolean.FALSE;
}
Vedere http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.12.2.7 – SLaks
Si dovrebbe vedere un avvertimento del compilatore su un cast non controllato da 'Object per 'T'. – GriffeyDog