首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

链表里get的步骤

2012-08-13 
链表里get的方法写了一个这样的方法,大致如下public T get(int pos){//pos 是链表的某个位置,之前定义 pri

链表里get的方法
写了一个这样的方法,大致如下
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

请问怎么修改,谢谢

[解决办法]
在Node类中添加toString方法
[解决办法]
想个办法把对象转化成值就行了
[解决办法]
你返回的是你对象的地址,你改写它的toString方法呗~~ 返回一个值
[解决办法]
Node继承了String吗?如果没有,怎么可能转换。

还有,那个不叫随机字母或数字,而是类名+对象的十六进制的hashCode

Java code
 public String toString() {    return getClass().getName() + "@" + Integer.toHexString(hashCode());    }
[解决办法]
你自己定义一个值呀,你实际上并没有给你的Node赋值

热点排行
Bad Request.