Java, wie man Method by Reflection mit primitiven Typen als Argumente aufruft

Lesezeit: 1 Minute

Benutzer-Avatar
Erde-Motor

Ich habe die folgenden zwei Methoden in einer Klasse:

public void Test(int i){
    System.out.println("1");
}
public void Test(Integer i){
    System.out.println("2");
}

Die folgende Codezeile

this.getClass().getMethod("Test",Integer.class).invoke(this, 10);

Drucke 2 wie man es druckt 1?

Benutzer-Avatar
Mukul Goel

So rufen Sie eine Methode mit primitiven Typen als Parameter mithilfe von Reflection auf:

Du könntest benutzen
int.class

this.getClass().getMethod("Test",int.class).invoke(this, 10);

oder Integer.TYPE

this.getClass().getMethod("Test",Integer.TYPE).invoke(this, 10);

gleiches gilt für andere primitive Typen

Komisch aber wahr:

this.getClass().getMethod("Test",int.class).invoke(this, 10);

1146500cookie-checkJava, wie man Method by Reflection mit primitiven Typen als Argumente aufruft

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy