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

Common Java Interface for variant raw types

提问人:RSM_Tools 提问时间:9/16/2020 更新时间:9/19/2020 访问量:147

问:

有几个非常常见的类,如 ResultSet 或 JsonObject 等。此类类使用 、 、 等函数来获取或设置原始类型值。getIntgetStringsetIntsetString

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

public PoJo(IRawTypeInterface src)
{
   this.intField = src.getInt("nameOfIntStuff");
   this.strField = src.getString("nameOfStrStuff"); 
}

如果 ResultSet 和 JsonObject 将实现此类接口,则可以从 Recordset 或 JsonObject 创建此类 PoJo 类。

我想知道的是......

  • 是不是已经有这样的界面了,而且我不只是知道它?
  • 我或者是否有计划将此类接口添加到 java 库中?
  • 你怎么看?

谢谢

Java JSON 接口 结果集 原始类型

评论

0赞 Omar Abdel Bari 9/17/2020
我们需要知道你正在尝试做什么(业务逻辑)以及你已经尝试了什么。如果您能够更新原始类,则可以添加一个执行此操作的接口。但是,对于标准的 java 库,我认为这不是一种选择。
0赞 RSM_Tools 9/17/2020
实际上,昨天有一个非常好的评论,但现在无论如何都被删除了。它设置不要高估一个想法。我重新思考了一下,是的,这可能不一定对其他人有用。

答:

0赞 Tom Hawtin - tackline 9/19/2020 #1

SQL的关系版本和JSON单根树是截然不同的模型,并且对基元类型有不同的方法(甚至忽略异常)。没有太多的共同点。

最好使用不依赖于 JSON 和 SQL 表示形式的值类型。我不能强调依赖管理有多重要。因此,使用某种形式的对象映射器,这些映射器从值类型中获取默认值,但也允许自定义表示形式。

您的 pojo 构造函数应该是简单的,当我们最终拥有记录(对于 [浅] 不可变值)时,这将变得更加容易。适应外部表示应该是类的外部。Pojo(int nameOfIntStuff, String nameOfStrStuff)