Мне нужно использовать строку в Java на Android с заглавной буквы
Я обычно использую:
public static String ucFirst(String str) {
if (str.isEmpty()) {
return str;
} else {
return Character.toUpperCase(str.charAt(0)) + str.substring(1);
}
}
String ciudad = ucFirst("barcelona") //Barcelona
Есть ли функция в Java или библиотеке, которую я не знаю, для ввода строчных букв и т. д.?
Я так понимаю, что в нативной Java такой функции нет.
Поскольку это так же просто, как то, что вы упоминаете в своем алгоритме, я не знаю, стоит ли для этого полагаться на библиотеку или тому подобное. Реализация, которую я придумал, в частности, очень похожа на вашу. Только то, что он использует,
substring
а также рассматривает нулевую строку. Примерно следующее:Я надеюсь, что ответ будет полезен.
Привет.
Чтобы дополнить ответ @hdlopez, этот процесс должен быть очень простым, наиболее распространенной будет эта функция (которая включает проверку), где нам нужно изменить первую букву на прописную:
Android пытается не использовать библиотеки Apache, как это произошло с классом Http и внешними библиотеками, чтобы сделать это, я не вижу возможности для чего-то настолько простого.
Другой вариант, чтобы всегда иметь первый символ в верхнем регистре, а остальные в нижнем регистре:
Пример:
значение города будет:
Barcelona
На эту тему есть несколько ответов на Stackoverflow: https://stackoverflow.com/questions/15259774/capitalise-first-letter-in-string-android
В Apache Commons Lang есть метод StringUtils
capitalize(String)
, который делает именно это. У него также есть много других методов,вам нужно будет оценить, стоит ли добавлять дополнительные 2 МБ в APK.. Добавьте около 400 КБ в ваш apk.Если вы хотите сделать это в одной строке, вы можете прибегнуть к чему-то вроде этого, в котором нет if и его легче читать:
Но этот метод, вероятно, менее эффективен, чем в вашем примере.
Имейте в виду, что если строка пуста/нуль, необходимо будет обработать исключение. Или используйте защитный подход, который включает проверку null/void перед выполнением оператора, это будет зависеть от варианта использования, и его добавление уже удаляет его из одной строки.
Я не думаю, что рекомендуется включать библиотеку только для заглавных букв, потому что процесс довольно прост, но у нас есть это:
Я сделал аналогичный ответ, и они дали мне этот ответ. это сработало идеально для меня.