Supponendo che si può usare Java 8, qui è il modo funzionale che nessuno ha chiesto per ...
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);
}
}
È elegante in cui il programma gestisce i casi stringa nulla e vuoti senza alcuna dichiarazione condizionale.
[StringUtils.capitalize()] (http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html#capitalize%28java.lang .string% 29)? Cercare l'eleganza in Java è ... beh, ci sono ROI migliori. Le librerie di utilità esistono per una ragione. –
Hai bisogno di considerare le impostazioni locali? Ogni locale ha regole diverse per cambiare il caso delle lettere. – erickson
@erickson Nessuna necessità. L'inglese è abbastanza per me. –