正如标题所述:我想找到为什么java.util.Properties
扩展Hashtable<Object, Object>
而不是Hashtable<String, String>
?
class Properties extends Hashtable<Object,Object> { ... }
我想知道是因为该方法setProperty(String key, String value)
只接受 String 值,而属性基于 String 键值表示。完整的方法体在上面和这里的链接上:
public synchronized Object setProperty(String key, String value) {
return put(key, value);
}
这同样适用于该getProperty(String key)
法和其他的人。
是否有任何特定原因扩展Hashtable<Object, Object>
和使用字符串?在以这种方式使用Hastable<Object, Object>
或HashMap<Object, Object>
喜欢时,我应该注意什么用例吗?
这是一个原因:该类早于泛型。
Since: JDK1.0
为泛型更新 Java 库的团队必须平衡“现在我们可以准确捕获语义”和“人们会有很多损坏的代码”。大多数情况下,库会更新为使用现有代码编译和运行,但需要付出一些代价。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句