繁体   English   中英

遍历列表<String[]>

[英]iterating through a List<String[]>

看下面的代码:

/*   Implementation to populate List<String[]> schedule  */

public List<String[]> getSchedBySIN(String sin) {
    List<String[]> listBySin = null;

    for (String[] temp : schedule) {
        if(temp[0].equals(sin)) listBySin.add(temp);
    }

    return listBySin;
}

listBySin ...listBySin.add(temp); 用黄色下划线,Eclipse告诉我: 空指针访问:变量listBySin仅在此位置可以为null

这是为什么? 我想做的是如果它们的第一个元素等于sin ,则使用schedule字符串数组填充listBySin

您需要将一个List对象分配给var。

List<String[]> listBySin = new ArrayList<String[]>();

您必须实例化列表。

List<String[]> listBySin = new ArrayList<String[]>();

初始化/分配您的列表,而不是

List<String[]> listBySin = null;

使用以下内容初始化您的列表

List<String[]> listBySin = new ArrayList<String[]>();

您需要先创建对象,然后才能对其调用方法。 就像是

listBySin = new ArrayList<String[]>();

进入循环之前

You must initialize根据You must initialize List 您可以使用ArrayList或Vector或Stack或CopyOnWriteArrayList进行初始化。

    List<String[]> str=new ArrayList<String[]>();
    List<String[]> str=new LinkedList<String[]>();
    List<String[]> str=new Stack<String[]>();
    List<String[]> str=new Vector<String[]>();
    List<String[]> str=new CopyOnWriteArrayList<String[]>();

这完全取决于您的需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM