📅  最后修改于: 2023-12-03 14:52:46.224000             🧑  作者: Mango
Java中的ArrayList是一种动态数组,可以自动扩容,并且提供了大量的方法来操作数组元素。在使用ArrayList时,有时需要将其转换为字符串以便于输出或者调试。Java中的Object类有一个toString方法,可以将对象转换为字符串,但是它只是默认实现,未必符合我们的要求。因此我们需要在ArrayList中重新定义toString方法。
重写toString方法的步骤如下:
示例代码如下:
import java.util.ArrayList;
public class MyArrayList<E> extends ArrayList<E> {
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("[");
for (int i = 0; i < size(); i++) {
if (i != 0) {
stringBuilder.append(", ");
}
stringBuilder.append(get(i).toString());
}
stringBuilder.append("]");
return stringBuilder.toString();
}
public static void main(String[] args) {
MyArrayList<Integer> myArrayList = new MyArrayList<>();
myArrayList.add(1);
myArrayList.add(2);
myArrayList.add(3);
System.out.println(myArrayList.toString());
}
}
在上面的代码中,我们定义了一个MyArrayList类,它继承了ArrayList类,并重写了toString方法。在toString方法中,我们将遍历ArrayList中的元素,将它们转换为字符串,并拼接到一起形成一个字符串返回。在main方法中,我们构造了一个MyArrayList对象,并添加了三个整数元素。然后调用MyArrayList的toString方法输出这个ArrayList对象,可以看到,输出结果符合我们预期。
重写ArrayList的toString方法可以方便我们输出ArrayList的元素,以便于查看和调试。在实际开发中,我们可能会需要定义其他的数据结构,并需要重写它们的toString方法,以便于更好地解释和显示数据结构的内容。