मुझे निम्न कोड मिला, जो किसी सूची में कुछ परिस्थितियों (यदि यह पुराना नहीं है) के तहत एक आइटम जोड़ता है। यह सूची बाद में एक सामान्य नियंत्रण सूची में पैक हो जाती है।जावा 8 धाराओं के साथ एक सूची का रिफैक्टर निर्माण
List<ListDataContent> list = konditionen.stream().map(kondition -> map(tilg, kondition.getChangeDate(), funds)).sorted().collect(Collectors.toList());
SimpleListControl listCtrl = new SimpleListControl();
listCtrl.setDataModel(new ListDataModel(list));
समस्या नक्शा विधि है ...
private TerminKondListContent map(TermKondValue tilg, Date changeDate, BigDecimal funds) {
if (kondition.getStatusKz().equals(StatusKz.OLD))
return null;
for (TermKondValue zins : kondition.getTerminkonditions()) {
if (zins.getStatusKz().equals(StatusKz.OLD))
return null;
return new TerminKondListContent(tilg, changeDate, funds);
}
return null;
}
मैं जारी मामलों में क्या कर सकते हैं:
List<ListDataContent> list = new ArrayList<>();
for (KonditionValue kondition : konditions) {
if (kondition.getStatusKz().equals(StatusKz.OLD))
continue;
for (TermKondValue tilg : kondition.getTermimKonditions()) {
if (tilg.getStatusKz().equals(StatusKz.OLD))
continue;
TerminKondListContent listContent = new TerminKondListContent(tilg, kondition.getChangeDatum(), funds);
list.add(listContent);
}
}
SimpleListControl listCtrl = new SimpleListControl();
listCtrl.setDataModel(new ListDataModel(list));
मैं निम्नलिखित रिफैक्टरिंग java8 धाराओं उपयोग करने की कोशिश? वापस शून्य? मैं फिर
list.stream().filter(Objects::nonNull)
के माध्यम से स्ट्रीम से शून्य मानों को फ़िल्टर कर सकता है क्या वैकल्पिक विकल्प का उपयोग यहां एक विकल्प है?
यह काम करना चाहिए। क्या आपको नहीं लगता कि इसे पढ़ना मुश्किल है? मेरा समाधान थोड़ा और पठनीय दिखता है। हालांकि मैं अभी भी अनिश्चित हूं कि इस मामले में "वापसी शून्य" के साथ क्या करना है। – Chris311
@ Chris311 आपका समाधान वास्तव में आपके पुराने कोड का मिश्रण है। मुझे लगता है कि इसे पढ़ना मुश्किल है, इसलिए आपके लूप को रखना बुरा विचार नहीं होगा। – Tunaki
ठीक है, मैं जावा 8 स्ट्रीम-रीफैक्टरिंग का उपयोग नहीं करूंगा :-) – Chris311