Подтвердить что ты не робот

Проверить объект пустым

В основном, как вы проверяете, является ли объект пустой или пустой. Я имею в виду, что если у меня есть экземпляр объекта, но все его значения или поля равны нулю, как проверить код, если он пуст?

Я пробовал;

if (doc != null){
.... do something

Но это не работает.

4b9b3361

Ответ 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);
}

Это сработало для меня и это простой способ проверить, пуст объект или нет