gpt4 book ai didi

java - 如何在不使用 getter 的情况下打印 Java 对象的内容

转载 作者:行者123 更新时间:2023-12-01 18:09:39 25 4
gpt4 key购买 nike

实际上,我正在实现一个程序,其中我从数据库检索信息,并使用 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;
}
}

使用Apache Commons

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();
}
}

使用Google Guava

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com