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

Java 拆分字符串并将其存储在数组中,java,arrays,string,char,Java,Arrays,String,Char,我希望将以下字符串存储到数组中,但它会引发ArrayoutOfBond异常 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.p

我希望将以下字符串存储到数组中,但它会引发ArrayoutOfBond异常

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);
    }
}
publicstaticvoidmain(字符串[]args){
//TODO自动生成的方法存根
char[]arr={};
String str=“你好,我的名字是Ivkaran”;
对于(int i=0;i
数组在Java中不是动态的。使用arraylist或创建维度为的数组:

char[] arr = new char[str.length()]
同时将这条线移到

String str = "Hello My Name is Ivkaran";

然后继续原来的操作。

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

char[] arr = new char[str.length()]
同时将这条线移到

String str = "Hello My Name is Ivkaran";

然后继续原来的操作。

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

char[] arr = {};
若要将任何内容分配给该数组,必须将其初始化为非零大小。在这里,看起来需要与字符串大小相同

String str = "Hello My Name is Ivkaran";
char[] arr = new char[str.length()];
您也可以只调用
字符串
来获取一个
char[]
,其中的内容已经复制到该字符串中

char[] arr = str.toCharArray();

您已使用以下行声明了长度为0的数组:

char[] arr = {};
若要将任何内容分配给该数组,必须将其初始化为非零大小。在这里,看起来需要与字符串大小相同

String str = "Hello My Name is Ivkaran";
char[] arr = new char[str.length()];
您也可以只调用
字符串
来获取一个
char[]
,其中的内容已经复制到该字符串中

char[] arr = str.toCharArray();
只要这样做:

String str = "Hello My Name is Ivkaran"; 
char[] arr = str.toCharArray();
只要这样做:

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

您不必先创建一个新数组。检查我的答案。@ataravati这是真的。检查我的答案。我已经在其中包含了
tocharray()
。您不必先创建新数组。检查我的答案。@ataravati这是真的。检查我的答案。我已经在其中包含了
tocharray()
。您不能在这里将字符串转换为数组。您正在创建一个新的空数组,长度为字符串。@ataravati:您不能根据您的解释将任何字符串“转换”为数组,除非您销毁字符串对象并用数组覆盖其地址空间。hexafraction的建议实质上是将字符串“转换”为数组。你知道我的意思。而且,你已经编辑了你的答案。但是,您不需要遍历字符串中的字符。检查我的答案。我不知道你的意思,你的答案中也没有“转换”。这将假定原始值被新值替换,而这两个值在您的案例中仍然存在。我知道您不需要循环,但这看起来像是一个关于使用循环的练习。您没有在这里将字符串转换为数组。您正在创建一个新的空数组,长度为字符串。@ataravati:您不能根据您的解释将任何字符串“转换”为数组,除非您销毁字符串对象并用数组覆盖其地址空间。hexafraction的建议实质上是将字符串“转换”为数组。你知道我的意思。而且,你已经编辑了你的答案。但是,您不需要遍历字符串中的字符。检查我的答案。我不知道你的意思,你的答案中也没有“转换”。这将假定原始值被新值替换,而这两个值在您的案例中仍然存在。我知道您不需要循环,但这看起来像是一个使用循环的练习。