OJCPA kod parçacıklarına bakıyordum ve derleyicinin aşağıdaki kodda neden bir hata atmadığını karıştırıyorum. Genel türlere ham türlerini atarken neden bir derleyici hatası almıyorsunuz?
List l = new ArrayList();
l.add("a");
l.add("b");
l.add(1);
List<String> strList = new ArrayList<>();
strList = l; //#1 - Why does the assignment compile?
for(String s: strList) {
System.out.println(s); //#2 - It makes sense that it then throws a ClassCastException
}
Ben> derleyici ham türü olarak Listesi l görecekti ve jenerik değişmez oldukları için < Dize tipi listesi değil gibi, bir derleyici hatası üretir düşündük.
teşekkürler yardımcı için.
daha fazla bilgi burada https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html – AdamSkywalker
Ben biri için bir kod ya da başka bir sözdizimi göstergesi kodlayıcıya ne olduğunu biliyordu/yapıyordu. Ama zamanla çalıştıkları çeşitli rakip tasarım kriterlerinin farkında değilim, bunun için iyi bir sebebi olduğuna güvenmek zorundayım. :-) –
Herhangi bir ham tipi yazılan sınıfa atayabilir misiniz? – binarycreations