Wie kann man in Java die Zugriffsattribute & speichern?Wie sauber interagieren mit geschachtelter Klasse in Java?
InnerTest it = new InnerTest();
it.id = "123";
it.user.userID = "456";
der folgende Code nicht tut, was erwünscht ist, aber es bietet eine Kulisse für die Frage:
public class InnerTest {
public String id;
static class user {
static String userName;
static String userID;
}
}
Falls mein Ansatz ist, ist unter der Übung eine JSON-Architektur speichern in eine Klasse, aber greifen Sie einfach wie oben beschrieben darauf zu. Ich erstelle eine Klasse für Tweets, und eine innere Gruppe von Attributen ist unter „user“:
[...]
"in_reply_to_user_id" : null,
"in_reply_to_user_id_str" : null,
"in_reply_to_screen_name" : null,
"user" : {
"id" : 19792676,
"id_str" : "19792676",
"name" : "(((Payne¯\\_(ツ)_/¯)))",
[...]
ich nach einem Weg suchen, um elegant in meiner Klasse darstellt verwenden, um die inneren Variablen, wie in:
foo.user.id_str ...
Ist eine Art verschachtelte/anonyme Klasse korrekt? Es sieht nicht aus wie es ist - selbst mit statischen Modifikatoren ...
Das ist eine geschachtelte Klasse, keine innere Klasse. Warum sind die Membervariablen überhaupt statisch? Ihr JSON scheint anzuzeigen, dass ein 'InnerTest' ein Feld vom Typ' user' haben sollte. –
@StiriosDelimanolis, wie ich schon sagte, die Klasse, mit der ich spielte, war nur ein Hintergrund für die Frage. Vielen Dank für die Änderungen ... –
Wenn Sie mit GSON serialisieren, empfehle ich Ihnen die Annotation [@SerializedName] (https://google.github.io/gson/apidocs/com/google/gson/annotations/SerializedName.html) . Sie müssen die unterstrichenen Namen nicht als Variablennamen verwenden. – Jezor