java - 对对象调用 toString

标签 java arrays oop tostring

我有一个类 Game,它有一个 toString 方法。

我想使用嵌套的 for 循环来迭代数组,然后对于该数组的指定索引中的每个 Tile 元素,根据该 Tile< 打印出特定字符串 的属性位于我在 Tile 类中编写的 toString 方法内。

如果这是适当的逻辑,我该如何实现呢?我无法正确匹配两个 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();
   }
}

关于java - 对对象调用 toString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179723/

相关文章:

java - HttpsURLConnection 第二次请求失败

php - 检查循环中多个数组的值

c# - 使用 WinForms 连续绘制椭圆同时保留矩形

php - 从类名创建对象在命名空间中不起作用

php - 从父类实例化子类 (PHP)

Java - 空指针异常,但我可以获得值

Java 风格的正则表达式 : Match whole string if group is n chars

java - 试图从 java 应用程序执行 mysqldump,多个问题

c++ - 为什么我的数组总是给出正确的答案?

javascript - 比较多个数组的各个值