确定我尝试在Java的ArrayList玩一段时间来尝试一些东西,我有关我project..so想出了一个简单的代码,这样ArrayList中Java的编译错误
具有3个文件... DataStruc.java ,DataStrucHand.java,testcase1.java
DataStruc.java
public class DataStruc {
private String testString;
public DataStruc(String s){
this.testString = s;
}
public String getTestString() {
return testString;
}
public void setTestString(String testString) {
this.testString = testString;
}
public String toString(){
return String.format("%s",testString);
}
}
DataStrucHand.java
import java.util.ArrayList;
public class DataStrucHand {
private ArrayList<DataStruc> ds;
public void addData(String ss){
ds.add(new DataStruc(ss));
}
public ArrayList<DataStruc> getData(){
return ds;
}
}
testcase1.java
import java.util.*;
public class testcase1 {
public static void main(String args []){
DataStrucHand dsh = new DataStrucHand();
String gdata = "test";
dsh.addData(gdata);
}
}
我试图编译它,有此错误
Exception in thread "main" java.lang.NullPointerException
at DataStrucHand.addData(DataStrucHand.java:7)
at testcase1.main(testcase1.java:8)
可我知道什么是错的实际?我甚至不能添加数据...我试图添加数据并通过创建另一个testcase2.java来取回它...但是,现在向arraylist添加问题...我的目的是创建一个temp存储保留一个特定的字符串,可以通过1个程序获得但运行2个不同的类别。
哦,我的上帝,感谢您的帮助......就像3.50AM在这里,我真的需要睡一觉 – user1217609 2012-02-27 19:50:55
@ user1217609:您需要睡眠并学习如何调试NPE的步骤。关键是检查引发异常的行上的变量,然后回溯到代码中以查看为什么它为空。 – 2012-02-27 19:57:31
@大家都需要啤酒。 – 2012-02-27 19:58:22