如何在数组中打印字符串?

时间:2011-12-12 20:53:27

标签: java

目前我有一个

阵列
public Module[]moduleArray = new Module[4];    

并输出它我正在使用

public void displayModules()
 {
    for (int i = 0; i < moduleArray.length; i++)
    {
       System.out.println(moduleArray[i]); 
    }        
 }

然而它正在输出

  

模块@ 1f5e4ae5
  模块@ 67871079
  空
  null

3 个答案:

答案 0 :(得分:5)

toString()课程中实施/覆盖Module。当您看到Module@xyz字符串表示时,因为toString()类的唯一Module实现是Object类的实现。由于ObjectModule一无所知,因此只输出类名和实例ID。

答案 1 :(得分:1)

班级Module需要有意义的toString()方法。您所看到的是默认Object.toString()方法的输出。例如,如果Module具有字符串属性nametype,则可以使用toString方法:

@Override
public String toString()
{
  return "Module named: " + name + " of type: " + type;
}

然后,您将看到上面返回的字符串,而不是默认toString方法的输出。

答案 2 :(得分:1)

在示例toString()类中,覆盖数组内容类中的Module方法将帮助您在迭代数组时打印数组中的每个值。

可以快速打印数组内容而无需迭代数组元素,使用Arrays.asList()实用程序方法将数组转换为列表。

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