问题描述
有几个非常常见的类,例如ResultSet或JsonObject等。这样的类使用诸如getInt
,getString
,setInt
,setString
之类的功能来获取或设置对象的原始类型值。
我想知道,是否在这样的构造函数中是否存在可以处理此类类型的通用接口:
public PoJo(IRawTypeInterface src)
{
this.intField = src.getInt("nameOfIntStuff");
this.strField = src.getString("nameOfStrStuff");
}
如果ResultSet和JsonObject实现此类接口,则可以从Recordset或JsonObject创建此类PoJo类。
我想知道的是...
- 已经有这样的界面了,我不仅不知道吗?
- 我还是有计划将此类接口添加到Java库中?
- 您怎么看?
谢谢
解决方法
SQL的关系版本和JSON单根树是非常不同的模型,并且对原始类型具有不同的方法(甚至忽略异常)。没有太多共通之处。
最好使用不依赖JSON和SQL表示形式的值类型。我不能强调依赖管理的重要性。因此,请使用某种形式的对象映射器,这些对象映射器使用值类型的默认值,但也可以自定义表示形式。
您的pojo构造函数应该是简单的Pojo(int nameOfIntStuff,String nameOfStrStuff)
,当我们最终有了记录时(对于[shallow]不可变的值),它将变得更加容易。适应外部表示形式应该在类的外部。