2017-02-20 38 views
0

我有一个ArrayList ArrayList<int[]>它有一维整数数组,因为它的成员。是否有可能重写Java中的整数数组?

当我调试和我的手表上tmp从下面的代码中设置,我希望能够看到tmp的内容,这意味着我要重写的int[]toString方法?

目前,我可以通过使用下面的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] + " "); 
    } 
} 
+0

我认为你可以,如果你框int整数,它成为一个类类型的对象,我想你也会得到toString ... – ultrajohn

+0

你的代码的意见意味着你试图打印到控制台,但是您的问题意味着您希望调试器显示它。这是什么?你在使用哪个IDE? – shmosel

+0

回答你的问题标题,答案是否定的。 – shmosel

回答

2

数组类final:你不能延长他们和重写其方法。

方便地打印的阵列的内容,则可以使用方法java.util.Arrays,像这样:

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

另一种方法是在适当位置的阵列,其实现一个“适当” toString方法的使用List秒。

相关问题