[英]Java: Storing extended objects in arraylist and calling parent toString method
[英]Calling toString on objects
我有一个具有toString
方法的类Game
。
我想使用嵌套的for循环遍历一个数组,然后对于该数组的指定索引中的每个Tile
元素,根据该Tile
的属性打印出特定的字符串,该属性位于我编写的toString
方法内部Tile
类。
如果这是适当的逻辑,我该如何实现呢? 我无法正确匹配两个toString
方法之间的参数。
public String toString(tileArr){
for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
tileArr[i][j].toString(t);
}
System.out.print("\n");
}
return "";
}
您正在混淆两个概念:在内存中创建字符串和打印。
您的toString()方法不应调用System.out.println()
。 相反,它应该只是创建一个字符串,该字符串可以由某些调用者打印。
另外,如果您尝试提供常规的toString()
方法,则该方法不带任何参数。 由于它是一个实例方法,因此可以访问对象的字段。
public class Game {
private int rows, columns;
private int tileArr[][];
...
public String toString(){
StringBuilder builder = new StringBuilder();
for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
builder.append( tileArr[i][j].toString() );
builder.append(" "); // If tiles need to be separated.
}
builder.append("\n");
}
return builder.toString();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.