【发布时间】:2021-05-12 14:07:48
【问题描述】:
我正在开发一个带有返回 JSON 数据的 API 端点的移动应用程序,并且我做了很多 JSON 解析以在我的应用程序中显示不同类型的数据。
很长一段时间以来,我在我的 java 对象类中使用带有构造函数的 Getter Setter 来处理数据,但最近同事告诉我一种不同且简单的方法来处理这些确切的数据。两个不同的 dataObject 类是
我处理数据的方式
public class MyObject {
String _string1, _string2;
List<String> _stringsList;
public MyObject(String _string1, String _string2, List<String> _stringsList) {
this._string1 = _string1;
this._string2 = _string2;
this._stringsList = _stringsList;
}
public String getString1() {
return _string1;
}
public String getString2() {
return _string2;
}
public List<PostO> getStringList() {
return _stringsList;
}
}
我同事建议的方式
public class MyObject {
public String _string1, _string2;
public List<String> _stringsList;
public MyObject() { }
}
应用程序在这两种方法下都能正常工作。第二种方法简短易行。但这两者有什么区别?第二种方法有什么技术缺陷吗?在将我的课程转换为这种新方法之前,我真的需要知道。
如果重要的话,我开始使用 GSON 和第二种方法。
【问题讨论】:
-
下面的答案几乎解释了它。但是,您仍然应该将字段设为
private。如果我没记错的话,Gson 对私有字段绝对没有问题。这样您就可以在应用程序中保留封装。