Для более чем одного символа: char [] c = s.toCharArray ();
67
Вы можете использовать функцию .charAt (int) со строками для получения значения char по любому индексу. Если вы хотите преобразовать String в массив char, попробуйте вызвать .toCharArray () для String.
String g ="line";char c = g.charAt(0);// returns 'l'char[] c_arr = g.toCharArray();// returns a length 4 char array ['l','i','n','e']
Но это превратится "123"в '1', это то, что вы после?
aioobe
1
Я не хотел специально использовать «123». Я просто использовал в качестве примера. Для char это будет другой пример, такой как «p», поскольку char - это один символ, а не несколько символов.
Йохен
1
функция toCharArray () возвращает массив символов в случае, если вы хотите разбить строку на символы
Genjuro
8
Если строка длиной 1 символ, просто возьмите этот символ . Если длина строки не 1 символ, она не может быть проанализирована в символ.
Самый простой способ преобразовать a Stringв a char- это использовать charAt():
String stringAns="hello";char charAns=stringAns.charAt(0);//Gives You 'h'char charAns=stringAns.charAt(1);//Gives You 'e'char charAns=stringAns.charAt(2);//Gives You 'l'char charAns=stringAns.charAt(3);//Gives You 'l'char charAns=stringAns.charAt(4);//Gives You 'o'char charAns=stringAns.charAt(5);//Gives You:: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 5
Возможно, я немного опоздал, но я нашел это полезным, понимаю кадену как String и оставил заголовок столбца как Convert to. :-)
ОБНОВЛЕНИЕ: Итак, я наконец-то вернул свой пароль, я обновил его копируемым текстом, чтобы другие могли просто копировать и вставлять как всегда, а для некоторых других можно получить индексацию данных (если это так). :-) Счастливого ноябрьского уса.
Почему большие пальцы вниз? Это действительно ответ на вопрос, так как вы можете проверить, как анализировать в других типах
Davide
4
@Davide Вероятно, потому что сообщения не должны включать важную информацию в виде изображения, когда она может быть опубликована в виде текста. Изображения нельзя искать и копировать / вставлять, они часто блокируются и не могут быть прочитаны пользователями, использующими программы чтения с экрана.
Модус Толленс
Пожалуйста, отредактируйте свой пост и покажите реальный текст вместо скриншотов. Другие не могут копировать и вставлять из ваших изображений. Смотрите здесь для деталей. Спасибо.
Пан
2
Я согласен с вопросом @Davide - «Почему большие пальцы вниз?». Я полагаю, что это заставит пользователя, который получил это, не вносить свой вклад в стекоперемещение в будущем, и я считаю, что это не должно иметь место. С моей точки зрения "большие пальцы вниз" никогда не должны использоваться! Он отрицателен по своей сути и не несет никакой ценности.
Марко
Вы уверены, что char --> StringGoesHere.parseFloat(int position);это правильно? Честно говоря, я не проверял, но я уверен, что у Stringнего нет parseFloatметода, и даже если он есть, я не могу понять, почему это было бы тем, что вы пытаетесь сделать там.
BeUndead
3
Если вы хотите проанализировать String для char, тогда как объект String представляет более одного символа, вы просто используете следующее выражение:
char c = (char) Integer.parseInt (s) . Где s равно строке, которую вы хотите проанализировать. Большинство людей забывают, что символы представляют 16-битное число и, следовательно, могут быть частью любого числового выражения :)
Это не верно. Разбор строки в число означает, что число было преобразовано в строку, и мы хотим получить число обратно. Точно так же, анализ символа из строки означает, что символ был преобразован в строку, и мы хотим, чтобы символ вернулся. Использование промежуточного номера не то, о чем спрашивал ОП.
Влад
@Vlad Он попросил номер, потому что это то, что charесть, так же, как intи double. Он даже привел пример String«123». а кто сказал, что нельзя конвертировать charв a Stringс длиной больше единицы и обратно? Попробуйте сами с char c = 123: String.valueOf((int) c).equals("123")возврат true.
Адам Мартину
1
Извините, но все сводится к цифрам, это не главное. Вы можете взглянуть на принятый ответ, который явно исключает промежуточный int. Для вашего примера вам нужно привести к. intЭто означает, что вы работаете не с оригиналом char, а с оператором int, который каким-то образом соответствует оригиналу char.
Влад
2
import java.io.*;class ss1
{publicstaticvoid main(String args[]){String a =newString("sample");System.out.println("Result: ");for(int i=0;i<a.length();i++){System.out.println(a.charAt(i));}}}
Вы можете использовать функцию .charAt (int) со строками для получения значения char по любому индексу. Если вы хотите преобразовать String в массив char, попробуйте вызвать .toCharArray () для String. Если длина строки составляет 1 символ, просто возьмите этот символ, вызвав .charAt (0) (или .First () в C #).
Ответы:
Если ваша строка содержит ровно один символ, самый простой способ преобразовать ее в символ - это вызвать
charAt
метод:источник
Вы можете использовать функцию .charAt (int) со строками для получения значения char по любому индексу. Если вы хотите преобразовать String в массив char, попробуйте вызвать .toCharArray () для String.
источник
Вы можете использовать этот трюк:
источник
"123"
в'1'
, это то, что вы после?Если строка длиной 1 символ, просто возьмите этот символ . Если длина строки не 1 символ, она не может быть проанализирована в символ.
источник
или если вы хотите индивидуально, то вы можете как
источник
org.apache.commons.lang.StringEscapeUtils . (un) Методы EscapeJava - это то, что вам нужно
Ответ от бреда не мой
https://stackoverflow.com/a/8736043/1130448
источник
Самый простой способ преобразовать a
String
в achar
- это использоватьcharAt()
:Вот полный сценарий:
источник
Возможно, я немного опоздал, но я нашел это полезным, понимаю кадену как String и оставил заголовок столбца как Convert to. :-)
ОБНОВЛЕНИЕ: Итак, я наконец-то вернул свой пароль, я обновил его копируемым текстом, чтобы другие могли просто копировать и вставлять как всегда, а для некоторых других можно получить индексацию данных (если это так). :-) Счастливого ноябрьского уса.
источник
char --> StringGoesHere.parseFloat(int position);
это правильно? Честно говоря, я не проверял, но я уверен, что уString
него нетparseFloat
метода, и даже если он есть, я не могу понять, почему это было бы тем, что вы пытаетесь сделать там.Если вы хотите проанализировать String для char, тогда как объект String представляет более одного символа, вы просто используете следующее выражение: char c = (char) Integer.parseInt (s) . Где s равно строке, которую вы хотите проанализировать. Большинство людей забывают, что символы представляют 16-битное число и, следовательно, могут быть частью любого числового выражения :)
источник
char
есть, так же, какint
иdouble
. Он даже привел примерString
«123». а кто сказал, что нельзя конвертироватьchar
в aString
с длиной больше единицы и обратно? Попробуйте сами сchar c = 123
:String.valueOf((int) c).equals("123")
возвратtrue
.int
. Для вашего примера вам нужно привести к.int
Это означает, что вы работаете не с оригиналомchar
, а с операторомint
, который каким-то образом соответствует оригиналуchar
.источник
Вы можете сделать следующее:
источник
String str = "abc"; char[] char_str = str.toCharArray();
Вы можете просто использовать
toCharArray()
для преобразования строки в массив символов:источник
Путь эссе:
Для вывода смотрите эту ссылку: нажмите здесь
Спасибо :-)
источник
Вы можете использовать функцию .charAt (int) со строками для получения значения char по любому индексу. Если вы хотите преобразовать String в массив char, попробуйте вызвать .toCharArray () для String. Если длина строки составляет 1 символ, просто возьмите этот символ, вызвав .charAt (0) (или .First () в C #).
источник