各种变体原始类型的通用Java接口

问题描述

有几个非常常见的类,例如ResultSet或JsonObject等。这样的类使用诸如getIntgetStringsetIntsetString之类的功能获取或设置对象的原始类型值。

我想知道,是否在这样的构造函数中是否存在可以处理此类类型的通用接口:

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]不可变的值),它将变得更加容易。适应外部表示形式应该在类的外部。