java使用Arrays.toString()错误打印数组

时间:2012-10-16 14:36:09

标签: java arrays tostring

所以我试图在我的程序中打印一组int,并遵循这些说明What's the simplest way to print a Java array?

编写了以下代码:

    int[] totals = //method that returns int array
    System.out.println(Arrays.toString(totals));

但它不会编译说

  

“类Object中的方法toString不能应用于给定的类型。   必需:没有参数   发现:int []   原因:实际和正式的参数列表长度不同“

为什么这样做?我不将我的数组作为参数传递给toString吗?如果没有,我如何使用toString?

谢谢!

5 个答案:

答案 0 :(得分:11)

  

类Object中的toString方法不能应用于给定的类型。 required:找不到参数:int [] reason:实际和形式参数列表的长度不同

可能你有一个名为Arrays的变量,这就是为什么编译器抱怨你正在尝试调用Object.toString(),而不会接受任何参数。

尝试

 System.out.println(java.util.Arrays.toString(totals)); 

答案 1 :(得分:1)

事实上它说“类Object中的方法toString”不能应用于给定的类型。让我觉得您可能没有正确导入java.util.Arrays类,或者您有一些名为Arrays的其他对象。

答案 2 :(得分:1)

这对我有用:

int[] totals = {1,2};
System.out.println(Arrays.toString(totals));

打印:

[1, 2]

您确定至少使用 JDK 5 吗?

确实,Arrays.toString(int[] a)仅在JDK 5之后才存在。

答案 3 :(得分:-1)

为什么不试试::

int[] totals = //method that returns int array
    System.out.println(totals.toString());

答案 4 :(得分:-1)

你的方法似乎没有初始化你的数组,试试这个:

int[] totals = new int[10]; //method that returns int array
System.out.println(Arrays.toString(totals));