我需要解决此错误的帮助:
线程“主”中的异常java.lang.NullPointerException
在GenericsLab.getItemType(GenericsLab.java:14)在
GenericLabTester.main(GenericLabTester.java:18)
我正在尝试编写泛型类和类测试器,但不确定如何解决此错误。
这是我的主要通用类:
public class GenericsLab<T> {
Object item;
public GenericsLab(T Object) {
this.item = item;
}
Object getItem() {
return item;
}
String getItemType() {
return item.getClass().getName();//line 14.
}
}
这是我的GenericsTester类:
import java.util.List;
import java.util.ArrayList;
public class GenericLabTester {
public static void main(String[] args) {
// TODO Auto-generated method stub
List list = new ArrayList(2);
GenericsLab integerItem = new GenericsLab(100);
list.add(integerItem);
System.out.println("Type for integerItem is: " + integerItem.getItemType());//line 18
System.out.println("Value for integerItem is: " + integerItem.getItem());
}
}
目标是适当地使用Java泛型作为其元素类型。
最佳答案
public class GenericsLab<T> {
T item;
public GenericsLab(T item) {
this.item = item;
}
T getItem() {
return item;
}
String getItemType() {
return item.getClass().getName();
}
}