在JAVA中将String转换为Char数组

时间:2014-10-31 02:25:48

标签: java arrays string serversocket

我使用toCharArray方法将字符串转换为char类型的数组,但每次我尝试打印数组时,都是打印数字而不是字符串中存储的字符。当我打印字符串时,字符打印得很好。

char[] nArray = capitalizedSentence.toCharArray();

        for (int i = 0; i < nArray.length; i++)
        {
            System.out.println(nArray[i] + '\n');
        }

实施例: 如果我的capitalizedSentence字符串具有值“Saad”,当我将其转换为字符数组并打印它时,它将打印以下内容:

93
75
75
78

有人可以帮助我,以便它打印存储在capitalizedSentence字符串中的各个字符吗?

3 个答案:

答案 0 :(得分:3)

nArray[i]char; '\n'常数也是如此。字符是无符号整数类型,因此字符以与所有整数相同的方式加在一起 ​​- 数字。如果发生添加,最终会得到int,而不是char,因此调用println会产生数字结果。

删除+ '\n'将解决问题。您将从println获得换行符,因此所有字符都会显示在新行上。

Demo.

答案 1 :(得分:1)

'\n'替换为"\n"

为什么呢?因为编译器看到你一起添加2个字符,所以编译器charint原始数据类型被认为是可互换的,因此+实际上是将2个int值一起添加。使用双引号将告诉编译器您正在为字符添加字符串。

答案 2 :(得分:1)

我认为这会对你有所帮助。使用for-each循环

char[] nArray = capitalizedSentence.toCharArray();
for(Character c: nArray ){
    System.out.println(c);
}