Как преобразовать символ в строку?
Я имею переменную типа <code>char</code>
, и мне нужно преобразовать её в тип <code>String</code>
. Как я могу выполнить это преобразование?
5 ответ(ов)
Ниже представлены различные способы преобразования символа char c
в строку String s
(в порядке уменьшения скорости и эффективности):
char c = 'a';
String s = String.valueOf(c); // самый быстрый и эффективный по памяти
String s = Character.toString(c);
String s = new String(new char[]{c});
String s = String.valueOf(new char[]{c});
String s = new Character(c).toString();
String s = "" + c; // самый медленный и неэффективный по памяти
Если вам нужна высокая производительность и экономия памяти, лучшим выбором будет String.valueOf(c)
. Остальные методы менее эффективны и могут потребовать больше затрат на память.
Вы можете использовать любой из следующих способов, чтобы преобразовать символ в строку в Java:
С помощью метода
String.valueOf()
:String str = String.valueOf('c');
С помощью метода
Character.toString()
:String str = Character.toString('c');
Конкатенируя символ с пустой строкой:
String str = 'c' + "";
Все указанные способы корректно выполняют задачу преобразования символа в строку. Выбор метода может зависеть от ваших предпочтений или стилистических соображений.
Используйте метод Character.toString()
следующим образом:
char mChar = 'l';
String s = Character.toString(mChar);
Этот код преобразует символ mChar
в строку s
.
Попробуйте это: Character.toString(aChar)
или просто так: aChar + ""
.
Существует несколько способов преобразования char
в String
в Java. Первый способ — воспользоваться статическим методом toString()
класса Character
:
char ch = 'I';
String str1 = Character.toString(ch);
На самом деле, этот метод toString
внутри себя использует метод valueOf
из класса String
, который работает с массивом символов:
public static String toString(char c) {
return String.valueOf(c);
}
Следовательно, второй способ — это использование метода valueOf
напрямую:
String str2 = String.valueOf(ch);
Метод valueOf
класса String
также использует массив символов:
public static String valueOf(char c) {
char data[] = {c};
return new String(data, true);
}
Таким образом, третий способ — это создание анонимного массива для обертки единственного символа и передача его в конструктор String
:
String str4 = new String(new char[]{ch});
Четвёртый способ — это конкатенация:
String str3 = "" + ch;
Этот подход на самом деле использует метод append
из класса StringBuilder
, что является предпочтительным вариантом, если вы выполняете конкатенацию в цикле.
Почему предпочтительнее использовать char[] вместо String для хранения паролей?
Как преобразовать строку в int в Java?
Как преобразовать строку в InputStream в Java?
Преобразование 'ArrayList<String>' в 'String[]' в Java
Как сгенерировать случайную алфавитно-цифровую строку