gpt4 book ai didi

java - 打印通用类列表

转载 作者:行者123 更新时间:2023-12-02 01:38:57 24 4
gpt4 key购买 nike

所以我创建了一个泛型类,我需要将其打印出来以查看是否传递了正确的值。只有当我打印它时我才得到

 PointList@7852e922

我不明白如何打印出实际值。我读过的所有内容都只是对 ArrayList 有帮助,对泛型类没有帮助。我尝试使用 stringbuilder 并尝试在 PointList 类中编写 toString 方法,但不断收到错误。我使用这两种方法之一走在正确的道路上吗?有办法打印出来吗?

public class PointListTest{

public static void main(String[] args){

//create point ints
Point<Integer> pointOne = new Point<Integer>(1,2);
Point<Integer> pointTwo = new Point<Integer>(3,4);
Point<Integer> pointThree = new Point<Integer>(5,6);

//make object PointList pointlist for int
PointList<Point<Integer>> newPointList = new PointList<Point<Integer>>();


//add points to list
newPointList.add(pointOne);
newPointList.add(pointTwo);
newPointList.add(pointThree);

//print list
System.out.println(newPointList);

这是 PointList 类

public class PointList<E>{

private List<E> myList;

E data;

public PointList(E obj){

myList = new ArrayList<>();

data = obj;

}//end constructor

public PointList(){

myList = new ArrayList<>();

}//end no args constructor
public void add(E obj) {


myList.add(obj);
}

这就是我的 toString 方法中的内容。

   @Override
public String toString(){

return("" + data);

}//end toString

Point 类有这个 toString 方法

@Override
public String toString(){
return (xCordinate + "," + yCordinate);
}//end toString

最佳答案

尝试在类PointList中定义自定义toString方法,假设Point定义了自己的toString ,下面的代码应该可以工作

 @Override
public String toString(){
String str = this.myList != null ? this.myList.stream().map(Object::toString).collect(Collectors.joining(", ")) : "";
return str;
}

关于java - 打印通用类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54759244/

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