2016-04-03 2 views
0

У меня есть этот код:java - как проверить, пусто ли поле List или Set?

for (final Field field : fields) { 
    if (Collection.class.isAssignableFrom(field.getType())) { 

    } 
} 

Как проверить, если поле (которое может быть список или установить тип) является пустым или нулевым?

+0

https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#isEmpty() – manouti

+0

HTTPS также: // docs.oracle.com/javase/7/docs/api/java/lang/Class.html#cast(java.lang.Object). – manouti

ответ

0

Вы можете использовать это:

for (final Field field : fields) 
{ 
    if (Collection.class.isAssignableFrom(field.getType())) 
    { 
     field.setAccessible(true); // required if the field is not public (that is very likely) 
     if (((Collection) field.get(object)).isEmpty()) // "object" being the object which owns your fields 
     { 
      System.out.println("Field is empty"); 
     } 
    } 
} 
+0

THX !!. он решил мою проблему. работает как шарм :) – djuka

+0

добро пожаловать. Рад, что это помогло :) – Cootri

Смежные вопросы