Вы можете просто проверить, содержит ли результат знак +. Если он содержит знак плюс, то у вас есть и имя, и фамилия, если нет, то у вас есть только имя:
if(result != null) {
String name;
String lastName = "";
if (result.contains("+")){
String[] value = result.split("\\+");
name = value[0];
lastName = value[1];
}else{
name = result;
}
System.out.println(name);
System.out.println(lastName);
}
Вывод при result = "John+Doe";
John
Doe
Вывод при result = "JohnDoe";
JohnDoe
Я не думаю, что Optional сделает это более понятным, но вот пример с Optional:
if(result != null) {
String[] value = result.split("\\+");
String name = value[0];
Optional<String> lastName = Optional.ofNullable(value.length>1?value[1]:null);
System.out.println(name);
if (lastName.isPresent()) {
System.out.println(lastName.get());
}
}
lastName
может принимать либо null
, либоString
. Затем в строках System.out вы можете проверить, является ли lastName присутствующим, и напечатать или нет.