具体的get方法还是一般的get方法?

时间:2011-08-01 18:04:25

标签: java

在某些编程API中,我看到了一个要调用的方法列表,比如getBoolean(String key,getDouble(String key)和getString(String key)。其他一些API使用一般的get(String key)方法,并返回您应该自己投射到适当类型的对象。

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

4 个答案:

答案 0 :(得分:2)

优点:getBoolean(),getDouble()等允许您返回相应的基元类型。据我所见,这是任何人写这样的方法的主要原因。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

这取决于图书馆的目的。当输出是可预测的一组项目时,玩具可以具有特定的名称。与ResultSet中一样。 如果它是通用的,那么您将需要通用的get方法。像ObjectOutputStream

一样

从很高的层面来看,您可能需要:getBooleangetDoublegetIngeter用于基元(或其各自的包装),getString,用于获取对象的Strings和通用getgetObject

然而,对于非常通用的问题,这是一个非常通用的答案。你试图做的非常多地决定了这些东西。

答案 3 :(得分:1)

两个问题: 1)为什么不使用常规属性,àlà:

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

等?

2)如果你想使用像:

这样的方法
String getString(String key)
Double getDouble(String key)
Address getAddress(String key)

作为用户,我怎么知道哪些键与String类型的对象相关联,哪些键与Double类型的对象相关联?

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