繁体   English   中英

链表的泛型中异常的NullPointerException

[英]Unusual NullPointerException in Generics of a linkedList

我变得不寻常了,

NullPointerException: Exception in thread "main" java.lang.NullPointerException.

在它自己的TeamClass我有:

  public DSALinkedList<String> players;
  private String name, contactName, ContactAddr, contactEmail, parent;

public Team(String inName, String inConName, String inConAddr, String inConEmail, String inParent)
{     


        name = inName;
        DSALinkedList<String> players = new DSALinkedList<String>(); //Constructs an empty players list using Strings as the value.
        parent = inParent;
        contactName = inConName;
        ContactAddr = inConAddr;
        contactEmail = inConEmail;

}

//用方法

public void addPlayer(String inPlayer)
{
    players.insertFirst(inPlayer);        
}

然后在我的Main类中,我从文件构建一个团队,该团队调用此方法:

public static Team constructTeam(String inLine)
    {
   String[] lineArray = new String[16];
   lineArray = inLine.split(",");  

    int i;
    String name, contact, email, address, parent;
    name = lineArray[1];
    parent = lineArray[2];
    contact = lineArray[3];
    email = lineArray[4];
    address = lineArray[5];

    Team team = new Team(name, contact, address, email, parent);
    System.out.println(team.getName());

//这是一项健全性检查,可以正确打印团队名称,这对我来说表明'team'不为空。
//将玩家(字符串)添加到玩家列表。 “玩家:名字姓”

    for(i=6; i<15; i++) //First player in lineArray to potentially the last.
    {
        if(!lineArray[i].equals("")) 
        {
            System.out.println("Test:"+ lineArray[i]);
            String player = lineArray[i];
            team.addPlayer(player); //ERROR OCCURS HERE
        }
    }

  return team;
}

要重新声明你的类变量- DSALinkedList<String> players在这条线的构造, DSALinkedList<String> players = new DSALinkedList<String>();

应该只是- players = new DSALinkedList<String>();

因此,在此下面的方法中, players由于其类变量而为NULL。

public void addPlayer(String inPlayer) {
    players.insertFirst(inPlayer);        
}

播放器将通过以下方式使用:

public DSALinkedList<String> players;
  private String name, contactName, ContactAddr, contactEmail, parent;

public Team(String inName, String inConName, String inConAddr, String inConEmail, String inParent)
{     


        name = inName;
        players = new DSALinkedList<String>(); //Constructs an empty players list using Strings as the value.
        parent = inParent;
        contactName = inConName;
        ContactAddr = inConAddr;
        contactEmail = inConEmail;

}

暂无
暂无

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

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