Ben Eylem yeni yayımlanan Java 8 okuma ve derleme değil Bölüm 5 yapıştırılan kodu parçasıdır var bulunursam:Bu java 8 örneği, tür çıkarımını kullanarak Eclipse'de derlemedi?
List<Integer> numbers1 = Arrays.asList(1, 2, 3);
List<Integer> numbers2 = Arrays.asList(3, 4);
List<int[]> pairs =
numbers1.stream()
.flatMap((Integer i) -> numbers2.stream()
.map(j -> new int[]{i, j})
)
.collect(toList());
Eclipse diyor ki:
: "Tür uyumsuzluğuList<Object>
den
List<int[]>
dönüştürmek olamaz"
Ve yazar Github verdiklerinden karşılaştırdıktan sonra, derlenmiş aşağıdaki:
List<Integer> numbers1 = Arrays.asList(1, 2, 3);
List<Integer> numbers2 = Arrays.asList(3, 4);
List<int[]> pairs =
numbers1.stream()
.flatMap((Integer i) -> numbers2.stream()
.map((Integer j) -> new int[]{i, j})
)
.collect(toList());
tek değişiklik için "j" "(tamsayı j)" değil.
Ancak Java 8 tarafından sağlanan sözdizimi şeker ile ilk tamamen eşdeğer ilk sürümü değil mi? Java neden derlemeyi reddediyor?
Teşekkür
BTW:
java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode)
* Argh * bu bir kitapta basılmıştır? – tilois
Tamamen değil. Soruyu açıklığa kavuşturmak için biraz değiştirildi. –
Başlığın, kök nedeninin Eclipse'de olduğunu yansıtacak şekilde düzenlenmiş. –