我需要解决此错误的帮助:


线程“主”中的异常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();
    }
}

09-26 18:58