2017-12-07 2 views
0

Ich möchte eine Funktion, die den Namen des Klassenmembers akzeptiert und seinen Typ zurückgibt.Funktion zum Abrufen des Datentyps des Klassenmembers

Für z.B.

eine Klasse gibt es ein

class A { 
    private String fieldOne; 
    private String fieldTwo; 
    private Integer fieldThree; 
    private Integer fieldFour; 

} 

I eine Funktion schreiben muß, ist, die eine des oben fileds Namen übernimmt und gibt ihren entsprechenden Datentyp. Wenn ich "fieldFour" übergebe, sollte es Integer als Typ zurückgeben. Wie kann ich eine solche Funktion schreiben? Vielen Dank.

+1

Rufen Sie einfach 'obj.getClass()'? –

+0

Wie? Wenn ich nur den Namen des Feldes habe, wie kann ich obj.getClass() ?? Vielen Dank – AJN

+3

Sie müssen Reflexion verwenden – marcinj

Antwort

0

Sie müssen Reflexion verwenden. Z.B.

A.class.getDeclaredField("fieldOne").getType() 
+0

Danke @ Mr.Stef. Aber wie mache ich es für private Mitglieder arbeiten? – AJN

+0

Hallo, bitte verwenden Sie getDeclaredField stattdessen. Auf diese Weise erhalten Sie alle Felder. Ich habe meinen Beitrag bearbeitet. –

+0

Danke @ Mr.Stef – AJN

Verwandte Themen