繁体   English   中英

在对象上调用toString

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM