gpt4 book ai didi

java - 从数组列表中打印内容

转载 作者:行者123 更新时间:2023-11-30 06:12:17 24 4
gpt4 key购买 nike

所以我想弄清楚如何打印数组列表的实际内容,而不是内存位置

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;


public class hw2redo
{
public static void main(String args[]) throws FileNotFoundException
{
//Scan file for data
GeometricObject g = null;
BufferedReader file = new BufferedReader(new FileReader("file.txt"));
Scanner diskScanner = new Scanner(file);
//Create dynamic array list
ArrayList<GeometricObject> list = new ArrayList<GeometricObject>();
//Scan data and add data to list
while(diskScanner.hasNext())
{
String geolist = diskScanner.nextLine();
g = recreateObject(geolist);

list.add(g);

}

showObjects(list);

}
private static GeometricObject recreateObject(String data)
{
GeometricObject object = new GeometricObject(data);
return object;
}
private static void showObjects(ArrayList<GeometricObject> list)
{
for(GeometricObject o : list)
System.out.println(o);
}


}
class GeometricObject
{

public GeometricObject(String data) {
// TODO Auto-generated constructor stub
}

}

这是我的代码。我试过使用 toString() 和 Arrays.toString() 但它们似乎不适用于数组列表(我试过是因为它们适用于我的常规数组)。

我收到的输出是

// Output
GeometricObject@55f96302
GeometricObject@3d4eac69
GeometricObject@42a57993
GeometricObject@75b84c92
GeometricObject@6bc7c054
GeometricObject@232204a1

这很好,因为我很接近,我只需要弄清楚如何打印实际内容。

我在我的file.txt中找的内容是

Circle,green,false,4.0
Circle,blue,false,2.0
Circle,blue,true,7.0
Rectangle,orange,true,10.0,6.0
Rectangle,green,false,5.0,11.0
Rectangle,red,true,14.0,12.0

任何帮助将不胜感激。谢谢!

最佳答案

你的类中需要一个toString方法:

class GeometricObject
{

private String data;

public GeometricObject(String data) {
this.data = data;
}

@Override
public String toString() {
return data;
}

}

如果没有覆盖,您将使用 Object.toString()。正如您所观察到的,对象的 toString 打印出对象的类名和哈希码。

关于java - 从数组列表中打印内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33062090/

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