Как преобразовать массив символов в строку?

У меня есть массив символов:

char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'}; 

Мое настоящее решение – сделать

 String b = new String(a); 

Но, конечно, есть лучший способ сделать это?

Нет, это решение абсолютно правильно и очень минимально.

Обратите внимание, однако, что это очень необычная ситуация: поскольку String обрабатывается специально на Java, даже "foo" на самом деле является String . Таким образом, необходимость разделения цепочки на отдельные char и объединения их обратно не требуется в нормальном коде.

Сравните это с C / C ++, где "foo" вас есть пакет char s, завершенный нулевым байтом с одной стороны, и string с другой стороны, и многие преобразования между ними связаны с унаследованными методами.

String text = String.copyValueOf(data);

или

String text = String.valueOf(data);

возможно, лучше (инкапсулирует new String вызов new String ).

Это преобразует массив символов в строку:

 char[] charArray = {'a', 'b', 'c'}; String str = String.valueOf(charArray); 

Строка в java – это всего лишь объект вокруг массива символов. Следовательно,

 char[] 

идентичен строке Unboxed с теми же символами. Создав новую строку из массива символов

 new String(char[]) 

вы, по сути, говорите компилятору, чтобы автобокс был объектом String вокруг вашего массива символов.

 String str = "wwwwww3333dfevvv"; char[] c = str.toCharArray(); 

Теперь для преобразования символьного массива в String существует два способа. Я беру встроенные библиотечные утилиты:

 Arrays.toString(c); 

Это напечатает [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v] .

Другой способ: String.valueOf(c)) — o / p будет wwwwww3333dfevvv .

 package naresh.java; public class TestDoubleString { public static void main(String args[]){ String str="abbcccddef"; char charArray[]=str.toCharArray(); int len=charArray.length; for(int i=0;i 

Вы можете использовать метод String.valueOf .

Например,

 char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'}; String b = String.valueOf(a); System.out.println("Char Array back to String is: " + b); 

Для получения дополнительной информации о строках char вы можете ссылаться на ссылки ниже

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

http://www.flowerbrackets.com/char-array-to-string-java-program/

Попробуй это

 Arrays.toString(array) 

Попробуй это:

 CharSequence[] charArray = {"a","b","c"}; for (int i = 0; i < charArray.length; i++){ String str = charArray.toString().join("", charArray[i]); System.out.print(str); } 

Вы также можете использовать class StringBuilder

 String b = new StringBuilder(a).toString(); 

Использование String или StringBuilder зависит от ваших требований к методу.

1 альтернативный способ:

 String b = a + ""; 
  • Захват вывода поиска. -print0 в массив bash
  • Почему новые методы java.util.Arrays в Java 8 не перегружены для всех примитивных типов?
  • Как передать один объект объекту params
  • Накладные расходы .NET-массива?
  • Почему компиляторы C и C ++ допускают длину массива в сигнатурах функций, когда они никогда не применяются?
  • Эффективность: массивы против указателей
  • Почему многомерные массивы C # не реализуют IEnumerable ?
  • Почему большой локальный массив разбивает мою программу, но глобальный - нет?
  • Генерики, массивы и ClassCastException
  • Любой более быстрый способ копирования массивов в C #?
  • Загрузка нескольких файлов (массив) с помощью CodeIgniter 2.0
  • Interesting Posts
    Давайте будем гением компьютера.