实际上,我正在实现一个程序,其中我从数据库检索信息,并使用 setter 将该信息设置为一个对象,我只想打印该对象参数而不使用 system.out.println(object.getHeadCount());
我只是想要就像我给予 system.out.println(object);
因此使用此代码应该以 Json 格式或任何其他可读格式打印数据。
怎么做。因为我的对象包含 30 个字段,所以编写 30 个 getter 来打印数据非常忙碌。
最佳答案
您必须重写toString()
正常方式
class User {
private String firstName;
private String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Override
public String toString(){
return this.firstName + " " + this.lastName;
}
}
class User {
private String firstName;
private String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Override
public String toString(){
return new ToStringBuilder(this)
.append("firstName", firstName)
.append("lastName", lastName)
.toString();
}
}
class User {
private String firstName;
private String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Override
public String toString(){
return MoreObjects.toStringHelper(this)
.add("firstName", firstName)
.add("lastName", lastName)
.toString();
}
}
关于java - 如何在不使用 getter 的情况下打印 Java 对象的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33950211/