我正在尝试构建一个简单的泛型类,它使用 java 中的泛型对象。一切都编译得很好,但是当我运行代码时,它不会显示我传递给它的对象。
这是我的代码:
public class ListDriver {
public static void main(String[] args) {
List<String> glist = new List<String>(10);
glist.add("milk");
glist.add("eggs");
System.out.println("Grocery List" + glist.toString());
}
public class List<T> {
private T[] datastore;
private int size;
private int pos;
public List(int numElements) {
size = numElements;
pos = 0;
datastore = (T[]) new Object[size];
}
public void add(T element) {
datastore[pos] = element;
}
public String toString() {
String elements = "";
for (int i = 0; i < pos; ++i) {
elements += datastore[i] + "";
}
return elements;
}
}
}
最佳答案
您不会增加 pos
变量,因此您总是在同一位置添加。尝试一下
public void add(T element) {
datastore[pos++] = element;
}
关于Java泛型类不显示我传递给它的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632351/