Как запустить программу в редакторе Atom?

Java не поддерживает общие массивы. Массивы ковариантны, дженериков нет. Это означает, что если класс A расширяет класс B, то A [] также является B []. И код

A[] a = new A[10];
B[] b = a;

является законным.

Но это не так для дженериков. Вы не могли бы назначить Foo на Foo, даже если T расширяет X. И поэтому элементы Foo[] не могут быть гарантированы безопасным типом.

EDIT Извините меня за просто ссылку, ve found Теория и практика Java: статья generics gotchas , которая объясняет все о ковариации массивов лучше, чем я даже мечтал.

35
задан Opal 15 June 2015 в 06:54
поделиться