Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印数组中的字符串?_Java - Fatal编程技术网

Java 如何打印数组中的字符串?

Java 如何打印数组中的字符串?,java,Java,目前我有一系列的 public Module[]moduleArray = new Module[4]; 为了输出它,我使用 public void displayModules() { for (int i = 0; i < moduleArray.length; i++) { System.out.println(moduleArray[i]); } } public void displayModules() {

目前我有一系列的

public Module[]moduleArray = new Module[4];    
为了输出它,我使用

public void displayModules()
 {
    for (int i = 0; i < moduleArray.length; i++)
    {
       System.out.println(moduleArray[i]); 
    }        
 }
public void displayModules()
{
对于(int i=0;i
但是它正在输出

Module@1f5e4ae5
Module@67871079

空的


模块
类中执行/覆盖
toString()
。当您看到
Module@xyz
String表示法这是因为
Module
类的
toString()的唯一实现是
对象的实现。由于
对象
模块
一无所知,因此它只输出类名和实例id。

模块
需要一个有意义的
toString()
方法。您看到的是默认的
Object.toString()
方法的输出。例如,如果
Module
具有字符串属性
name
type
,则可以使用
toString
方法,如:

@Override
public String toString()
{
  return "Module named: " + name + " of type: " + type;
}
然后,您将看到上面返回的字符串,而不是默认的
toString
方法的输出。

在您的示例
模块中,重写数组内容类中的
toString()
方法将帮助您在迭代数组时打印数组中的每个值

使用
arrays.asList()
utility方法可以快速打印数组内容,而无需迭代数组元素

System.out.println("Convert Array to List " + Arrays.asList(moduleArray));

应该注意的是,由于@user979236在问题中提到了这一点,因此在
null
的数组元素上调用
toString()
将导致
NullPointerException
。您可能需要准备好处理此类案件。@ThomasOwens,这不是真的,因为John没有说“CalltoString”toString
。如果数组中的对象为空,用户将看到
null
。NPE不会被抛出。