У меня есть метод, который принимает 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();
Является ли второй вариант правильным? или есть более простое / встроенное решение?