[英]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.