Java -Bohnen, Beanutils und die Boolesche Wrapper -Klasse
Posted: 20 Feb 2025, 23:06
Ich verwende Beanutils, um Java -Objekte zu manipulieren, die über JAXB erstellt wurden, und ich bin in ein interessantes Problem gestoßen. Manchmal erstellt Jaxb ein Java -Objekt wie folgt: < /p>
-Methode zur Darstellung einer Eigenschaft betrachten, wenn der Rückgabetyp ein primitiver boolescher ist, und nicht der Wrapper -Typ boolean . Hat jemand einen Vorschlag, wie er über Beanutils wie diese zugreifen kann? Gibt es eine Art Problemumgehung, die ich verwenden kann?
Code: Select all
public class Bean {
protected Boolean happy;
public Boolean isHappy() {
return happy;
}
public void setHappy(Boolean happy) {
this.happy = happy;
}
}
< /code>
Der folgende Code funktioniert gut: < /p>
Bean bean = new Bean();
BeanUtils.setProperty(bean, "happy", true);
< /code>
Versucht jedoch, die Happy < /code> Eigenschaft wie SO zu erhalten: < /p>
Bean bean = new Bean();
BeanUtils.getProperty(bean, "happy");
< /code>
Ergebnisse in dieser Ausnahme: < /p>
Exception in thread "main" java.lang.NoSuchMethodException: Property 'happy' has no getter method in class 'class Bean'
< /code>
Ändern alles in einen primitiven booleschen < /code> Ermöglicht sowohl den Set als auch den Aufruf zum Laufen. Ich habe diese Option jedoch nicht, da es sich um Klassen handelt. Ich gehe davon aus, dass dies geschieht, weil die Java -Bean -Bibliotheken nur eine IS