拆分字符串并将其存储在数组中

时间:2013-08-15 23:19:52

标签: java arrays string char

我希望将以下字符串存储到数组中,但它会抛出ArrayOutOfBound Exception。

public static void main(String[] args) {
    // TODO Auto-generated method stub
    char[] arr = {};
    String str = "Hello My Name is Ivkaran";
    for (int i = 0;i < str.length(); i++){
        System.out.println(str.charAt(i));
        arr[i] = str.charAt(i);
    }
}

3 个答案:

答案 0 :(得分:5)

您已使用此行声明了一个长度为0的数组:

char[] arr = {};

要为该数组指定任何内容,必须将其初始化为某个非零大小。在这里,看起来你需要它与字符串的大小相同。

String str = "Hello My Name is Ivkaran";
char[] arr = new char[str.length()];

您也可以在String上致电toCharArray()以获取已复制到其中的内容的char[]

char[] arr = str.toCharArray();

答案 1 :(得分:3)

Java中的数组不是动态的。使用arraylist或创建具有维度的数组:

char[] arr = new char[str.length()]

同时将此行移至

下方
String str = "Hello My Name is Ivkaran";

然后按原样继续。

答案 2 :(得分:0)

这样做:

String str = "Hello My Name is Ivkaran"; 
char[] arr = str.toCharArray();