Java 具体的get方法还是通用的get方法?

Java 具体的get方法还是通用的get方法?,java,Java,在一些编程API中,我看到了一个要调用的方法列表,比如getBoolean(字符串键)、getDouble(字符串键)和getString(字符串键)。其他一些API使用一个通用的get(字符串键)方法,并返回一个您应该自己强制转换为适当类型的对象 现在我正在编写我自己的数据访问点,我想知道使用哪种方法。每种方法的优缺点是什么?您什么时候会选择一种方法而不是另一种方法?优点:getBoolean(),getDouble()等。允许您返回各自的基元类型。据我所知,这是任何人编写此类方法的主要原因。

在一些编程API中,我看到了一个要调用的方法列表,比如getBoolean(字符串键)、getDouble(字符串键)和getString(字符串键)。其他一些API使用一个通用的get(字符串键)方法,并返回一个您应该自己强制转换为适当类型的对象


现在我正在编写我自己的数据访问点,我想知道使用哪种方法。每种方法的优缺点是什么?您什么时候会选择一种方法而不是另一种方法?

优点:getBoolean(),getDouble()等。允许您返回各自的基元类型。据我所知,这是任何人编写此类方法的主要原因。

为最可能使用的类型提供getter。没有真正正确或错误的方法。

这取决于库的用途。当输出是一组可预测的项时,则有特定的名称。如。 如果它是泛型的,那么您将需要泛型get方法

从非常高的层次上讲,您可能需要两个方面:
getBoolean
getDouble
getIngeter
用于基本体(或它们各自的包装器),一个
getString
用于
Strings
和一个通用的
get
或一个
getObject
用于获取对象

然而,对于一个非常普通的问题,这是一个非常普通的答案。你的尝试在很大程度上决定了这些东西。

两个问题: 1) 为什么不改用一般属性呢

String getName()
Address getAddress()
Date getDateOfBirth()
等等

2) 如果要使用以下方法:

String getString(String key)
Double getDouble(String key)
Address getAddress(String key)
作为用户,我究竟如何知道哪些键与String类型的对象关联,哪些键与Double类型的对象关联,等等

我建议使用类似于1)的解决方案。
如果我没有误解你的问题,那就是。

为什么这会是一个优势?现代Java版本使用自动装箱,因此Integer和int之间的差异在很大程度上可以忽略(根据)。它仍然值得麻烦吗?基本类型应该总是比包装器更受欢迎。可能是最令人信服的原因:new Long(1).equals(1)的结果是什么?回答问题1:我的大多数方法在内部做相同的事情(与web API通信,处理异常),但略有不同。将它们组合在一种方法中可以减少代码重复。对问题2的回答:如果您(作为用户)不知道,那么我该如何使用ResultSet Java类呢?我想知道为什么API会使用这个…)要回答选项2下的问题,只需查看。通常情况下,作为用户,您对所请求的数据的了解比一般数据持有者要多。除此之外,数据可以以多种格式表示。在所有其他条件相同的情况下,我会选择一个为我做这些事情的API,而不是一个不做这些事情的API。