Java 若我们在主类中打印该类的对象,如何从类中打印2D数组

Java 若我们在主类中打印该类的对象,如何从类中打印2D数组,java,multidimensional-array,Java,Multidimensional Array,我有一个类Employee,它有一个方法返回一个包含一些员工信息的二维数组。 我在同一个包中有另一个类TestEmployee,我在其中创建了类Employee的对象测试,然后打印这个对象 Employee test = new Employee(); System.out.println(test); 现在,这个测试对象应该打印我在Employee中创建的数组。我无法编写代码来实现这一点。有人能帮我回答这个问题吗 谢谢我不知道为什么有人会否决这个问题 Employee是一种对象类型,您不能打

我有一个类
Employee
,它有一个方法返回一个包含一些员工信息的二维数组。 我在同一个包中有另一个类
TestEmployee
,我在其中创建了类
Employee
的对象测试,然后打印这个对象

Employee test = new Employee();
System.out.println(test);
现在,这个测试对象应该打印我在
Employee
中创建的数组。我无法编写代码来实现这一点。有人能帮我回答这个问题吗


谢谢

我不知道为什么有人会否决这个问题

Employee是一种对象类型,您不能打印对象并期望获得良好的输出,因为它会打印出其哈希代码(感谢Obicere)

除非重写toString()方法。如果你做到了,并且做得很好,你可以做到:

System.out.println(test.toString());
我假设您想要打印2D数组中包含的信息。如果是这样,那么您需要将所有这些信息解析为一个字符串,并让您的toString()方法返回该字符串

干杯,

Justin

我知道这已经非常晚了,但是您可以使用deepToString()打印出一个多维数组。

为employee创建一个toString()方法,然后执行
System.out.println(test.toString())Arrays.toString()
。这里有一个问题的链接,其中有一个很好的例子:相关:,(隐式调用
toString()
),以及(如何使用
toString()
)。感谢您的评论。是的,我的TestEmployee类有main方法。假设我编写了一个toString()方法。有没有办法,我不必做test.toString()来调用。我的意思是可以直接调用它吗?呃,您可以尝试在重写toString()后直接调用它。我不确定它是否有效,因为我从未真正尝试过,但值得一试。
或一些我不知道的十六进制数。
它实际上是
hashCode()
值。另外,
System.out.println(测试)将在执行空检查后调用
test.toString()
。你的密码和答案的密码没有明显区别。哦,好的。直到。无论哪种方式,她都必须重写toString()方法来返回她的2D数组中的任何内容。谢谢你的新知识,哈哈。@theguywhodreams:我可以在重写toString()方法后直接打印出来。感谢您的评论:)