2017-11-28 2 views
-2

Ich habe eine riesige Klasse mit Mitgliedern, und ich möchte jedes Mitglied überprüfen, wenn es Null ist. Ich möchte es nicht manuell hinzufügen, sondern einfach eine for-Schleife (oder etwas Ähnliches) ausführen, die jedesmal, wenn ein Feld hinzugefügt wird, über alle Felder ohne 'menschliche' Addition geht.Erhalten Sie den Namen eines Nullfelds in Android

Bis jetzt kann ich über die Felder gehen und den Namen der Felder erhalten (was ich brauche). Es gibt jedoch nichts unter Field, das überprüft, ob der Wert null ist.

Hier ist, was ich bisher:

private class Test { 
    String name1 = null; 
    String name2 = "test"; 
    String name3 = null; 
} 

Test mainTest = new Test(); 
    for (Field field : mainTest.getClass().getDeclaredFields()) { 
     if (field.isValueNull()) 
      Log.i("test", field.getName() + " is missing "); 
    } 

field.isValueNull() -> Dies ist die Methode, die ich suche.

In diesem Beispiel wird der Druck sein:

name1 is missing

name3 is missing

+0

Sie diese ähnliche Frage überprüfen : https://stackoverflow.com/questions/12362212/what-ist-the-best-way-to-know-if-all-the-variables-in-ac lass-sind-null –

Antwort

0

Sie die get() Methode des Objekts Field verwenden können:

Test mainTest = new Test(); 
    for (Field field : mainTest.getClass().getDeclaredFields()) { 
     if (field.get(mainTest) == null) 
      Log.i("test", field.getName() + " is missing "); 
    } 
Verwandte Themen