将对象放入java.util.Properties中
我试图理解为什么这样实现了
java.util.Properties.它有两个接口:getProperty / setProperty,它只接受字符串,并将/ get接受任何对象作为值.这两个接口似乎是重叠的,所以使用getProperty()可以检索一个带有put()的字符串.
这个奇怪的混合界面似乎有一些问题.放置覆盖字符串属性的对象具有清除字符串值的副作用,生成null作为getProperty结果.添加一个整数或一些其他具有简单字符串转换的值可能会被误解为是一个实际的属性值(但作为属性始终为空). 我的问题是:真的有实际的理由吗?还是我怀疑是一个半烤的实施? 解决方法
Joshua Bloch在
Effective Java中明确提到了这一点
该文本在使用组合超过继承的上下文中.他基本上使用这个作为使用组合而不是继承的例子.如果属性包含地图而不是扩展地图,那么它可以强制使用String作为键和值的invarient. 所以答案是:这是一个监督. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |