Eclipse 中自动生成 toString 方法的快捷方式是什么?

2022-09-01 11:09:29

对于一些简单的类,自动生成方法是好还是坏?toString

我正在考虑生成类似下面的内容,其中它采用变量名称并生成一个方法,该方法打印名称后跟其值。toString

private String name;
private int age;
private double height;

public String toString(){
   return String.format("Name: %s Age: %d Height %f", name, age, height);
}

答案 1

Eclipse 3.5.2(可能还有更早的版本)已经提供了此功能。如果在编辑器中右键单击,则会在 Source -> Generate toString()...

要回答你关于自生是否是一种不好的做法的问题,我的观点是它不是。如果生成的代码与您自己编写的代码非常相似,那么为什么要费心将其键入出来呢?toString()


答案 2

我个人喜欢为所有对象实现toString方法,因为它有助于调试。

我会考虑使用Apache Commons ToStringBuilder

您可以使用反射实现一个简单的 toString 方法,如下所示:

public String toString() {
   return ToStringBuilder.reflectionToString(this);
}

使用此方法,如果/当添加字段时,您不必更新 toString 方法。