【问题标题】:adding elements from list to string array将列表中的元素添加到字符串数组
【发布时间】:2013-04-11 19:30:22
【问题描述】:

我有一个类似的字符串数组,

 String[] abc= new String[]{};

我的列表有一些价值。我迭代列表并将每个列表元素添加到字符串数组。

for(int i=0; i<errList.size(); i++)
            {
                abc[i] = errList.get(i).getSrceCd();
            }

errList.size() 有 6 个值。但是当执行 for 循环时,我得到 java.lang.ArrayIndexOutOfBoundsException。有输入吗?

【问题讨论】:

  • 你的字符串数组声明不正确

标签: java arrays collections arraylist


【解决方案1】:

您正在创建一个长度为零的String[] 对象;因此,当您尝试将项目分配给 abc[i] 时,它正在访问一个不在您的范围内的索引 0 &lt;= i &lt; 0

你应该给abc分配一个长度:

String[] abc= new String[errList.size()];
for(int i=0; i<errList.size(); i++)
{
    abc[i] = errList.get(i).getSrceCd();
}

【讨论】:

    【解决方案2】:

    您需要创建与列表大小相同的字符串数组。它不是动态的。也许你可以通过这个练习说出你想要达到的目标。

    【讨论】:

      【解决方案3】:

      你有没有尝试使用在collection framework中广泛使用的for each loop?

      【讨论】:

        【解决方案4】:

        String[] abc = errList.toArray(new String[0]);

        或者:

        String[] abc = new String[errList.size()];    
        errList.toArray(abc);  
        

        【讨论】:

          【解决方案5】:

          我会这样做

          String[] abc= errList.toArray(new String[errList.size()]);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-10-02
            • 1970-01-01
            • 1970-01-01
            • 2023-02-15
            • 1970-01-01
            • 2020-03-08
            • 2023-03-21
            • 1970-01-01
            相关资源
            最近更新 更多