8 Mayıs 2009, Cuma
Neden Java'In Yineleyici bir İterable değil mi?
Neden Iterator arayüz Iterable kapsamıyor?
iterator() yöntemi sadece this dönebilir.
Bilerek mi yoksa sadece Java tasarımcıları, bir yanlışlık mı oldu?
-Her böyle yineleyicisi ile döngü: bir kullanabilmek için uygun olacaktır
for(Object o : someContainer.listSomeObjects()) {
....
}
listSomeObjects() bir yineleyici döndürür.
CEVAP
8 Mayıs 2009, Cuma
Bir yineleyici durum. Fikri Iterable.iterator() ararsan iki kere alacaksınbağımsızkullanımına en iterables için, her neyse. Bu açıkça senaryoda böyle olmazdı.
Örneğin, genellikle yazabilirim:
public void iterateOver(Iterable<String> strings)
{
for (String x : strings)
{
System.out.println(x);
}
for (String x : strings)
{
System.out.println(x);
}
}
Bu koleksiyon iki kere yazdırmak lazım - ama düzeni ile ikinci döngü her zaman anında sona erdir.
Bunu PaylaÅŸ:

Neden Java statik olarak bir sınıf bil...
Liste<Köpek> Listenin alt<Hay...
Neden't java değil.açıklama.Set(i...
Neden &; son" Java 8 arabirim yön...
Neden mümkün Java ek açıklamaları uzat...