寻找更好的方法或现有的库,这将允许更优雅的方式构建首字母.我目前得到的东西似乎有点笨拙:
String first = Optional.ofNullable(person.getFirstName()).orElse("");
first = first.isEmpty() ? first : first.substring(0, 1);
String last = Optional.ofNullable(person.getLastName()).orElse("");
last = last.isEmpty() ? last : last.substring(0, 1);
return first + last;
Run Code Online (Sandbox Code Playgroud)
// extract common code to method to avoid duplication
private String getInitial(String s) {
return (s != null && !s.isEmpty()) ? s.substring(0, 1) : "";
}
private String getInitials(Person person) {
return getInitial(person.getFirstName()) + getInitial(person.getLastName());
}
Run Code Online (Sandbox Code Playgroud)