I have a simple list of results, and I need to return only one value depending on content, for example:
public static void main(String[] args) {
List<String> results = new ArrayList<>();
results.add("ERROR");
results.add("ERROR");
results.add("OK");
System.out.println(search(results));
}
public static String search(List src) {
if (searchValueInStream(src, "ERROR")) {
return "ERROR";
} else if (searchValueInStream(src, "OK")) {
return "OK";
}
return "NA";
}
public static boolean searchValueInStream(List src, String str) {
return src.stream().anyMatch(v -> v.equals(str));
}
this code works fine, but looks not good, and I want to use it in same stream like
String result = results.stream()
.someFilter(v->v.equals(ERROR)? return "ERROR")
.someFilter(v->v.equals(OK)? return "OK")
.orElse("NA");
without “if then else” statement. Is this possible ?