当前位置: 代码迷 >> Java相关 >> 求教~一点困惑~
  详细解决方案

求教~一点困惑~

热度:159   发布时间:2007-04-16 12:52:52.0
求教~一点困惑~


interface MyList{
public void add(Object o);
public void add(int index,Object o);
}
abstract class MyAbstractList implements MyList{
protected int size;
public void add(Object o)
{
add(size,o);
size++;
}

}
class MyArrayList extends MyAbstractList{
private Object[] data=new Object[10];
public void add(int index,Object o){
for(int i=size-1;i>=index;i--){
data[i+1]=data[i];
data[index]=o;
size++;
}
}
public String toString(){
StringBuffer result=new StringBuffer("[");
for(int i=0;i<size;i++){
result.append(data[i]);
if(i<size-1)result.append(", ");
}
return result.toString()+"]";
}
}
class Test{
public static void main(String[] args){
MyArrayList list=new MyArrayList();
list.add("tom") ;
System.out.println(list);
}

}
为什么 结果是 [null]
想要的输出是  [tom] 要怎么修改~

搜索更多相关的解决方案: 困惑  

----------------解决方案--------------------------------------------------------
这是定义在它们里面的 toString方法决定的
----------------解决方案--------------------------------------------------------

是方法add(Object o) 只是实现了 增加数组长度而没有赋值为o
还是我的toString()方法 的问题啊~


----------------解决方案--------------------------------------------------------
  相关解决方案