【问题标题】:Using to toString method to output an array [duplicate]使用toString方法输出数组[重复]
【发布时间】:2015-06-03 17:45:18
【问题描述】:

我正在尝试打印出一个对象的实例变量的内容,但我不知道该怎么做。这是我要求填充数组的 .java 文件

for (int i = 0; i < friends.length; i++) {
        friends[i] = new Datab();
        System.out.println("\nFilling object #: " + (i + 1));
        Scanner kb = new Scanner(System.in);
        System.out.println("Enter First name: ");
        first = kb.next();

        System.out.println("Enter Last name: ");
        last = kb.next();

        System.out.println("Enter Cell Number: ");
        cell = kb.next();

    }

这是带有构造函数和 toString 的 .java 文件

  protected static String first;
        protected static String last;
        protected static String cell;
        private String what; 

    public Datab()
    {
        first = null;
        last = null;
        cell = null;
    }

    public Datab(String f, String l, String c)
    {
        first=f;
        last=l;
        cell=c;

    }
    public static String getFirst(Datab [] n)
    {


        return first;   
    }
    public static String getLast(Datab [] n)
    {

        return last;  
    } 
    public static String getCell(Datab [] n)
    {


        return cell;

    }



 public String toString(){




     return("");

 }
   }

【问题讨论】:

  • return(""); 这是你的问题..... ;) 你为什么不直接利用你的类中已经实现的各种get 方法?
  • 您是在问如何在您的班级中实现toString 方法吗?
  • 你卡在哪里了?您正在从Datab.toString() 返回一个空字符串,因此,对于初学者来说,您似乎没有尝试过任何东西。还值得注意的是,您似乎从来没有在您存储在friends[i] 中的新Datab 中设置字段的值。对于整个数组,在您正确实现类的 toString() 后,请参阅 Arrays.toString()。
  • 是的,让它打印出我的朋友对象。
  • 如果你想输出完整的数组看这个问题:stackoverflow.com/questions/10904911/…

标签: java arrays tostring


【解决方案1】:

你正确地覆盖了 toString 但它没有给你任何东西。如果您希望它为您提供有关该对象的有意义的数据,这里有一个示例说明您将如何去做

@Override
public String toString() {
   return "first:"first + " last:" + last + " cell: " + cell; 
}

您现在只需调用 System.out.println, 说System.out.println(friends[i]); 这会隐式调用该对象的 toString 方法,该方法将打印出对象的状态。

【讨论】:

  • 感谢您的回答。我明白你在说什么,但如果我这样做,它只会返回第一个最后一个和最近的单元格。我想打印所有的名字和数字。我该怎么做?
  • 什么数字。此 toString 包括所有实例变量的状态。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-02
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 2015-11-01
相关资源
最近更新 更多