写了一个这样的方法,大致如下
public T get(int pos){ //pos 是链表的某个位置,之前定义 private Node<T> first;
Node<T> current = first; //将Node指向第一个if(pos < 1 || pos > number) //number 是链表里面项目的个数,之前有定义
{
return null; //超过边界就返回null
}else{for(int i = 1; i < pos ; i++){
current = current.getNext();
}
return (T) current;
}写一个 T get的方法,读出链表在指定位置的内容,由pos决定。在测试文件里用system.out.println(list.get(i))来读取链表每个位置的内容,可以使数字或者英文字母.但这样做出的结果是Node的地址,而不是内容,结果是“Node@"后再加一些随机数字或字母。不能在前面加(String)的方式转换,这样会报错。提示Node不能变成String请问怎么修改,谢谢
public T get(int pos){ //pos 是链表的某个位置,之前定义 private Node<T> first;
Node<T> current = first; //将Node指向第一个if(pos < 1 || pos > number) //number 是链表里面项目的个数,之前有定义
{
return null; //超过边界就返回null
}else{for(int i = 1; i < pos ; i++){
current = current.getNext();
}
return (T) current;
}写一个 T get的方法,读出链表在指定位置的内容,由pos决定。在测试文件里用system.out.println(list.get(i))来读取链表每个位置的内容,可以使数字或者英文字母.但这样做出的结果是Node的地址,而不是内容,结果是“Node@"后再加一些随机数字或字母。不能在前面加(String)的方式转换,这样会报错。提示Node不能变成String请问怎么修改,谢谢
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
所有类都是Object的子类,所以默认都继承了Object的toString方法,如果没有重写则运行上面的这段代码,可以重写Object的toString方法