如何将char数组转换回字符串

时间:2016-01-26 10:34:00

标签: java arrays

有一个代码可以将第一个单词字母大写。但是我无法找到将char数组转换回String的方法:

例如:“hello world”代码将其转换为["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]我想将其转换回“Hello World”

public class Solution
   {
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();

        char[] chars = s.toCharArray();
        chars[0] = Character.toUpperCase(chars[0]);

        for (int i = 0; i < chars.length; i++){
            if (chars[i] == ' '){
                chars[i + 1] = Character.toUpperCase(chars[i + 1]);
            }
        }
        System.out.println(chars);
    }
}

2 个答案:

答案 0 :(得分:4)

String str = String.valueOf( chars );

String str = new String( chars );

答案 1 :(得分:0)

另外两条评论:

  • 在您的方法中,您应该确保[i+1]元素实际存在。类似于&#34;测试&#34;的字符串,以空格结尾,会在您的代码中抛出ArrayIndexOutOfBoundsException

  • 您应该关闭Reader,或者更好:使用 try-with-resources 块,如

try( BufferedReder reader = new InputStreamReader(System.in) ) { ... } catch( ... ) { ... }

为您关闭了Reader。