aşağıdaki açıkça gösterir, ama ne:Bir Java nesnesinden akış oluşturmanın en kolay yolu? <code>Collection</code> herşeyle
bir count()
yöntem ve bir getPart(int i)
yöntemle bir object
yoktur. Bu nedenle tüm nesneleri ayıklanması aşağıdaki Demirbaş kodu yol açar: () -> object.count()
ve (int i) -> object.getPart(i)
akışı oluşturmak için:
List<Part> result = new ArrayList<Part>();
for (int i = 0, i < object.count(), i++) {
result.add(object.getPart(i));
}
return result.stream();
sadece 2 üreticiyi geçmesine herhangi bir standart yolu var mı? Şunun gibi:
SomeUtil.stream(object::count, object::getPart);
[Bu soru] (http://stackoverflow.com/questions/30685623/how-to-implement-a-streamt-for-java) Benzer gibi, belki de yardımcı olabilir – Moira
Neden 'object' listesinin yerine dönebilen 'object.getParts()' oluşturmuyorsunuz? Çünkü kodunuzdan, 'nesnenin' tüm parçalara sahip olduğu görülüyor. –
Çünkü getParts yöntemi yok. :) – Cherry