Null Check ist oft ärgerlich, wenn Java in Unternehmen geschrieben wird. Es ist jedoch schwierig, nacheinander mit StringUtil und CollectionUtil zu prüfen. Ich weiß nicht, ob in der von Menschen erstellten Schnittstelle überhaupt null zurückgegeben wird. Da ist so etwas. .. ..
Ich möchte es reibungslos und kühl schreiben, aber ich konnte das Verhalten nicht verstehen, also werde ich es teilen.
(Vielleicht fehlt mir nur meine Fähigkeit)
Ich möchte eine Liste der optionalen
Das erste, woran ich dachte
testList.ifPresent(c ->{
c.forEach(t -> {
if(t=="hoge") {
return "OK";
}
});
});
Kompilierungsfehler Weil ifPresent und forEach beide Verbrauchertypen sind? Weil es nur den Wert verbrauchen kann. Es kann kein Rückgabewert zurückgegeben werden.
Ich habe darüber nachgedacht
List<String> test(Optional<List<String>> testList){
List<String> selectedList = new ArrayList<>();
testList.ifPresent(c ->{
c.forEach(t -> {
if(t=="hoge") {
selectedList.add("Ok");
}
});
});
return selectedList;
}
Damit können wir eine Liste von Zeichenketten zurückgeben. Wenn der Rückgabewert String ist, können Sie die Zeichenfolge mit (0) abrufen. Aber natürlich ist es Scheiße, weil ich ein unnötiges Array mache.
Es war gut, dass ich diesmal die Liste zurückgegeben habe, aber wenn ich den Rückgabewert als String zurückgeben muss, scheint es besser zu sein, wenn ich gehorsam bin.
Bitte sagen Sie mir, ob es eine gute Möglichkeit gibt, einen einzelnen Rückgabewert bei Verwendung von ifPresent zurückzugeben.
Nullcheck ist nervig Wenn die Regeln die Möglichkeit von Null enthalten, möchte ich, dass Sie alles in Optinal zurückgeben ...
Recommended Posts