Проверить объект пустым
В основном, как вы проверяете, является ли объект пустой или пустой. Я имею в виду, что если у меня есть экземпляр объекта, но все его значения или поля равны нулю, как проверить код, если он пуст?
Я пробовал;
if (doc != null){
.... do something
Но это не работает.
Ответы
Ответ 1
Вы не можете сделать это напрямую, вы должны предоставить свой собственный способ проверить это. Например.
class MyClass {
Object attr1, attr2, attr3;
public boolean isValid() {
return attr1 != null && attr2 != null && attr3 != null;
}
}
Или сделайте все поля окончательными и инициализируйте их в конструкторах, чтобы вы могли быть уверены, что все инициализировано.
Ответ 2
Вы должны проверить его на null
.
Если вы хотите проверить, является ли объект x нулевым или нет, вы можете сделать:
if(x != null)
Но если он не является нулевым, он может иметь свойства, которые являются пустыми или пустыми. Вы проверите их явно:
if(x.getProperty() != null)
Для "пустой" проверки это зависит от того, какой тип задействован. Для Java String
вы обычно делаете:
if(str != null && !str.isEmpty())
Как вы не упомянули о какой-либо конкретной проблеме с этим, сложно сказать.
Ответ 3
Это можно сделать с помощью java-отражения. Этот метод возвращает false, если для объекта присутствует какое-либо одно значение атрибута, надеюсь, оно поможет кому-нибудь
public boolean isEmpty() {
for (Field field : this.getClass().getDeclaredFields()) {
try {
field.setAccessible(true);
if (field.get(this)!=null) {
return false;
}
} catch (Exception e) {
System.out.println("Exception occured in processing");
}
}
return true;
}
Ответ 4
Я предлагаю вам добавить отдельный перегруженный метод и добавить их в свои проекты класса Utility/Utilities.
Чтобы проверить, что Collection будет пустым или null
public static boolean isEmpty(Collection obj) {
return obj == null || obj.isEmpty();
}
или использовать Apache Commons CollectionUtils.isEmpty()
Чтобы проверить, является ли Map пустым или null
public static boolean isEmpty(Map<?, ?> value) {
return value == null || value.isEmpty();
}
или использовать Apache Commons MapUtils.isEmpty()
Чтобы проверить, что String пуста или null
public static boolean isEmpty(String string) {
return string == null || string.trim().isEmpty();
}
или использовать Apache Commons StringUtils.isBlank()
Чтобы проверить объект на null, это легко, но проверить, пуст ли он, сложно, поскольку объект может иметь много частных или унаследованных переменных и вложенных объектов, которые должны быть пустыми. Для этого все необходимо проверить или использовать некоторый метод isEmpty() во всех объектах, которые будут проверять пустоту объектов.
Ответ 5
Если ваш объект содержит объекты, проверьте, являются ли они пустыми, если у них есть примитивы, проверьте их значения по умолчанию.
для экземпляра:
Person Object
name Property with getter and setter
to check if name is not initialized.
Person p = new Person();
if(p.getName()!=null)
Ответ 6
давай предположим,
data = {};
if( if(!$.isEmptyObject(data)))
{
document.write("Object is empty);
}
else{
document.write("Object is not empty);
}
Это сработало для меня и это простой способ проверить, пуст объект или нет