2016-04-03 4 views
0

私はこのコードを持っている:java - List型またはSet型のフィールドが空であるかどうかをチェックする方法?

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

    } 
} 

(一覧またはSetタイプのものとすることができる)フィールドが空またはnullであるかどうかを確認する方法は?

+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