Hashmap Wenn ich Klasse wie dieses:Java, Konvertieren Instanz der Klasse
class MyObject {
public int myInt;
public String myString;
}
Ist es möglich Instanz dieser Klasse zu konvertieren, ohne die Umsetzung Umwandlung Code zu Hashmap?
MyObject obj = new MyObject();
obj.myInt = 1; obj.myString = "string";
HashMap<String, Object> hs = convert(obj);
hs.getInt("myInt"); // returns 1
hs.getString("myString"); // returns "string"
Does Java bietet diese Art von Lösung, oder ich brauche convert
von mir zu implementieren?
Meine Klasse hat mehr als 50 Felder und Schreiben Konverter für jedes Feld ist nicht so gute Idee.
HashMaps haben Schlüssel und Werte (2 Dinge), anstatt 50 Felder. Kannst du klarstellen, was du hier erreichen willst? –
Sie müssen auch eine benutzerdefinierte 'Map'-Implementierung bereitstellen, da die gültige Methode, um den Wert für einen Schlüssel aus der' Map' zu erhalten, die Methode 'get (Object)' ist. Es gibt nichts wie 'getInt' oder 'getString', um verschiedene Typen aus der Map zurückzugeben. Am Ende wäre es nicht sinnvoll, sie zu haben, weil der Rückgabetyp durch den zweiten generischen Typ definiert ist. – SomeJavaGuy
@TimBiegeleisen Ich möchte alle Felder meines Objekts in Schlüssel und Werte von hashmap konvertieren. –