Предполагая, что вы можете использовать Java 8, вот функциональный способ, которым никто не просил ...
import java.util.Optional;
import java.util.stream.IntStream;
public class StringHelper {
public static String capitalize(String source) {
return Optional.ofNullable(source)
.map(str -> IntStream.concat(
str.codePoints().limit(1).map(Character::toUpperCase),
str.codePoints().skip(1)))
.map(stream -> stream.toArray())
.map(arr -> new String(arr, 0, arr.length))
.orElse(null);
}
}
Это элегантный в том, что он обрабатывает нулевые и пустые дела строки без каких-либо условных утверждений.
[StringUtils.capitalize()] (http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html#capitalize%28java.lang .String% 29)? Ищете элегантность на Java ... ну, есть лучшие ROI. Утилитные библиотеки существуют по какой-то причине. –
Вам нужно рассмотреть локаль? Каждый язык имеет разные правила для изменения букв. – erickson
@erickson Нет необходимости. Мне достаточно английского языка. –