2013-10-08 13 views
8

char [] c = string.toCharArray();Как преобразовать char [] в строку в java?

но как конвертировать c обратно в тип строки? спасибо!

+2

Вы смотрели на 'String' конструкторами? –

+2

-1, сделайте какое-либо исследование вообще, прежде чем отправлять его в SO. – djechlin

+8

+1 Я только что сделал исследование - первый результат google –

ответ

29

Вы можете использовать String.valueOf(char[]):

String.valueOf(c) 

Под капотом, это вызывает String(char[]) конструктор. Я всегда предпочитаю методы заводских методов для конструкторов, но вы могли бы использовать new String(c) так же легко, как предложили несколько других ответов.


char[] c = {'x', 'y', 'z'}; 
String s = String.valueOf(c); 

System.out.println(s); 
xyz 
+0

обратите внимание, что это возвращает строку «null» (а не значение, строка с фактическим словом «null» в нем), если char [] имеет значение null. Не так с новой строкой (c), которая, я думаю, будет NPE – Rhubarb

+0

Поцарапайте это - это будет NPE в любом случае. (Это String.valueOf (Object), который возвращает «null») ... Этот потенциальный NPE btw был причиной, по которой я сначала искал этот вопрос - было бы неплохо заменить String char [], не делая null проверяет ... IMO это действительный вопрос_ – Rhubarb

1

Вы можете сделать следующее:

char[] chars = ... 
String string = String.valueOf(chars); 
1

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

char[] c = new char[] {'a', 'b', 'c'}; 
String str = new String(c); // "abc" 

Docs

1

Вы можете написать:

char[] c = {'h', 'e','l', 'l', 'o'}; 
String s = new String(c); 
2

Вы можете использовать конструктор типа String:

String(char[] value);

Смежные вопросы