gpt4 book ai didi

Java打印一个对象数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:22 24 4
gpt4 key购买 nike

我知道有很多关于这个问题的页面,但我无法理解我的情况。

我需要打印对象数组。例如,我有一个对象数组,其中包含“形状”类中的对象。我是为数组中的每个对象调用 toString 方法,还是在 ObjectList 中编写 toString 方法以打印出实例变量?如果是这样,我该怎么做?

public class Shape{
private String shapeName;
private int numSides;

public String toString(){
return shapeName + " has " + numSides + " sides.";
}
}

public class ObjectList{
private Object[] list = new Object[10];
private int numElement = 0;

public void add(Object next){
list[numElement] = next;
}

public String toString(){
// prints out the array of objects

// do I call the toString() method from the object?

// or do I print the instance variables? What am I printing?

// I'm guessing I do a for loop here
}
}

public class Driver{
public static void main(String[] args){
ObjectList list = new ObjectList();
Shape square = new Shape("square", 4);
Shape hex = new Shape("hexagon", 6);
list.add(square);
list.toString(); // prints out array of objects
}

我的目标是打印这个:

square has 4 sides
hexagon has 6 sides

最佳答案

最简单的方法是使用 Arrays.toString:

Arrays.toString(myArray);

这将在内部调用数组中每个元素的 toString 方法。

因此,只需重写 Shape 类中的 toString 方法,它就可以正常工作。

要进一步添加,请在您的类中覆盖 toString 方法,在您的变量 list 上调用 Arrays.toString :

public class ObjectList{
private Object[] list = new Object[10];
.............

public String toString(){
return Arrays.toString(list);
}
}

关于Java打印一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29642108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com