Java泛型类没有';t显示我传入的对象
我正在尝试构建一个简单的泛型类,它使用java中的泛型对象。一切都可以编译,但是当我运行代码时,它不会显示我传递给它的对象 这是我的密码:Java泛型类没有';t显示我传入的对象,java,generics,Java,Generics,我正在尝试构建一个简单的泛型类,它使用java中的泛型对象。一切都可以编译,但是当我运行代码时,它不会显示我传递给它的对象 这是我的密码: public class ListDriver { public static void main(String[] args) { List<String> glist = new List<String>(10); glist.add("milk"); glist.a
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;
}
}
}
公共类ListDriver{
公共静态void main(字符串[]args){
列表glist=新列表(10);
加牛奶;
加入鸡蛋;
System.out.println(“杂货清单”+glist.toString());
}
公共班级名单{
私有T[]数据存储;
私有整数大小;
私人国际邮政局;
公共列表(整数){
大小=整数;
pos=0;
数据存储=(T[])新对象[大小];
}
公共无效添加(T元素){
数据存储[pos]=元素;
}
公共字符串toString(){
字符串元素=”;
对于(int i=0;i
添加方法始终替换位置0(零)中的元素。您忘记了递增pos(pos++;
)您没有递增pos
变量,因此您总是在同一位置进行添加。试一试
public void add(T element) {
datastore[pos++] = element;
}
格式化你的代码。很难看,你得到了什么结果?你试过调试吗?此外,在构造函数中初始化后,pos的值不会更改。
datastore[pos]=element代码>==>数据存储[pos++]=元素代码>。此外,您还应将pos
与size
进行比较,并根据需要增加datastore
。非常感谢大家的帮助。成功了。我忘了增加[pos++],然后选择一个答案,将问题标记为已回答,或者删除它(根据您的喜好)。我也会选择您的答案,因为您添加了已更正的方法;)