【发布时间】:2016-05-31 17:33:55
【问题描述】:
我能找到的最接近的是这个线程: How to print the value of arraylist contents in my logcat?
但是,当我尝试覆盖输出时,它给了我错误:数组类型中的 toString(long[]) 方法不适用于参数 (List)
// 更新: 事实证明,我不需要 System.out.println 中的 Arrays.toString。所以让我把我的问题改成:为什么我仍然需要在 Interval 类中使用这个 Override?我注意到没有它,我会得到这样的输出:
[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 + "] ";
}
}
【问题讨论】:
-
为什么要将列表转换为数组?直接打印列表就行了
-
像这样打印它:System.out.println(intervals);你会得到你所期望的结果。
-
请不要编辑您的问题以在原始问题得到回答后提出新问题。如果您还有其他问题,请创建一个新帖子并提出问题。
标签: java arraylist overriding tostring println