java.util.properties containsKey(key)= false& getProperty(key)具有有效值

时间:2017-07-11 19:59:10

标签: java spring

有一个问题,java.util.properties对象在什么情况下可以有以下内容?:

final String key =  "aRandomKey";
final boolean containsKey = propertiesObject.containsKey(key); //returns false
final String keyValue= propertiesObject.getProperty(key); // returns a valid value , in this instance a String.

我遇到了上面我在Spring setDataSourceProperties文件中的Hikari数据源上设置数据库属性(通过@Configuration API),然后有一个自定义数据库驱动程序来提取属性以进一步执行基于属性的处理和由于containsKey不一致我不得不重写一个方法和一种困惑。

1 个答案:

答案 0 :(得分:1)

请参阅JavaDoc

getProperty不必像HashTabel.get那样行事,可以并且会尝试从嵌套的默认表中获取属性。

它也不会覆盖containsKey方法,并且在调用此方法时不会进行嵌套搜索。