gpt4 book ai didi

java - Java 中是否可以重写整数数组?

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

我有一个ArrayList ArrayList<int[]>它具有一维整数数组作为其成员。

当我调试并将 watch 设置为 tmp 时从下面的代码中,我希望能够看到 tmp的内容,这意味着我必须覆盖 toString方法int[]

目前,我可以使用print打印出我的内容来查看它们。方法如下。然而,我不想这样做理想,并希望看到 tmp 的内容它是来自调试器的成员。

PS:我不想有调试监视表达式,例如 tmp.get(0)[0]等等

public class TryPrinting {
public static void main( String[] args ) {
int[][] people = { {7,0}, {7,1}, {6,1}, {5,0}, {5,2}, {4,4} };

TryPrinting obj = new TryPrinting();
obj.test( people );
}

public void test( int[][] people)
{
int n = people.length;
ArrayList<int[]> tmp = new ArrayList<>();
for (int i = 0; i < n; i++)
{
tmp.add(people[i][1], new int[]{people[i][0], people[i][1]});

print( tmp );//This works
System.out.println( tmp );//But I want this to work
System.out.println( "" );
}

}

/* print al */
public void print( ArrayList<int[]> al )
{
for(int i = 0;i<al.size();i++)
{
print( al.get( i ) );
}
System.out.println( "" );
}

/* print 1d array */
public void print(int[] a)
{
for(int i = 0;i<a.length;i++)
System.out.print( a[i] + " " );
}
}

最佳答案

数组类是final:您无法扩展它们并重写它们的方法。

要轻松打印数组的内容,您可以使用 java.util.Arrays 中的方法,如下所示:

System.out.println(Arrays.toString(tmp));

另一种方法是使用List代替数组,它实现了“正确的”toString方法。

关于java - Java 中是否可以重写整数数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42334861/

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