有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何重写toString并打印ArrayList的自定义类类型

我能找到的最接近的是这条线: How to print the value of arraylist contents in my logcat?

然而,当我试图覆盖输出时,它会给我错误:类型数组中的toString(long[])方法不适用于参数(List)

//更新: 事实证明我不需要数组。在系统中切换。出来普林顿。所以让我把问题变成:为什么我在Interval类中需要这个重写?我注意到,如果没有这些,我将得到如下输出:

[Interval@6d06d69c, Interval@7852e922, Interval@4e25154f, Interval@70dea4e]

这是我的代码:

 public static void main (String [] args) {
     List<Interval> intervals = new ArrayList<Interval>();
     intervals.add(new Interval(1,3));
     intervals.add(new Interval(2,6));
     intervals.add(new Interval(8,10));
     intervals.add(new Interval(15,18));
     System.out.println(Arrays.toString(intervals));
 }

这是我的课间休息课:

public class Interval {
    int start;
    int end;
    Interval() {start = 0; end = 0;}
    Interval(int s, int e) {
    start = s;
    end = e;
    }
    @Override
    public String toString() {
        return "[ " + start + ", " + end + "] ";
    }
}

共 (1) 个答案

  1. # 1 楼答案

    问题是,阵列。toString(…)需要输入数组,而不是列表