尝试将值添加到单独类中的ArrayList

时间:2018-09-24 00:39:19

标签: java android

我有一个名为Globals的类,并且在尝试使用其他类时尝试添加元素,但是我一直遇到java.util.NoSuchElementException错误。这是我的代码:

ListIterator lit=listOfNames.
while(lit.hasNext())
{
       Globals.listOfNames.add(lit.next().toString());
       Log.e(TAG, lit.next()+" ");
 }

并且我在全局类中将其初始化为:

public static ArrayList<String> ListOfStdntNames=new ArrayList<>();

为什么会引发异常?谢谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您正在循环中两次调用next()函数。在添加期间一次,在Log期间一次。
像这样更改它:

while(list.hasNext()) {
    String nextVal = list.next().toString();
    Globals.listOfNames.add(nextVal);
    Log.e(TAG, nextVal+" ");
}  

答案 1 :(得分:0)

首先,您不应该将数组列表定义为静态。

您应该这样做:

在全局类中添加一个方法:

public void AddToArrayList(String yourValue){
    yourArrayList.add(yourValue);
}

然后从其他类中调用该方法:

Global global = new Global();

while(list.hasNext()) {
     String nextVal = list.next().toString();
     global.AddToArrayList(nextVal);
}