我有一个方法可以接受
java.util.Properties
参数,
我需要放各种参数,那它的值可以为空。
我得到了
NullPointerException
因为
Hashtable.put
无法接收空值
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:460)
...
我可以使用检查空值的方法修复它:
private void putIfNotNull(Properties p, String name, String value) {
if (value!= null) {
p.put(name, value);
}
}
或者创建一个包装类并使用它:
public class PropertyHolder extends Properties {
@Override
public Object put( Object key, Object value ) {
if (value != null) {
return super.put(key, value);
}
return null;
}
并将其作为财产使用:
Properties p = new PropertyHolder();
第二种选择是正确的吗?还是有一个更简单/内置的解决方案?