Hat Java ein Analogon zu einem C ++ struct
:
struct Member {
string FirstName;
string LastName;
int BirthYear;
};
Ich muss meinen eigenen Datentyp verwenden.
java
data-structures
Dmitry
quelle
quelle
firstName
,lastName
undbirthYear
(oderyearOfBirth
natürlich).Antworten:
Java hat definitiv keine Strukturen :) Aber was Sie hier beschreiben, sieht aus wie eine JavaBean-Klasse.
quelle
inline class
irgendwann in naher Zukunft, was meiner Meinung nach eher wie eine Struktur ist.Das Äquivalent in Java zu einer Struktur wäre
und daran ist unter den richtigen Umständen nichts auszusetzen. Ähnlich wie in C ++, wenn Sie Strukturverse verwenden, wenn Sie eine Klasse mit gekapselten Daten verwenden.
quelle
Java hat kein Analogon zu den Strukturen von C ++, aber Sie können Klassen mit allen öffentlichen Mitgliedern verwenden.
quelle
struct
in C ++ (so ziemlich ) dasselbe wie einclass
in C ++.public
, warum sollten sie nicht zumindest zumindest im Paket enthalten bleiben? Solche Klassen sind im Allgemeinen nicht für die Verwendung in einer API geeignet (wenn auch nur für die möglichennull
Referenzen). Verwenden Sie immer die minimale Sichtbarkeit!Tatsächlich ist eine Struktur in C ++ eine Klasse (z. B. können Sie dort Methoden definieren, sie kann erweitert werden, sie funktioniert genau wie eine Klasse). Der einzige Unterschied besteht darin, dass die Standardzugriffsmodifikatoren auf public festgelegt sind (für Klassen auf private standardmäßig).
Dies ist wirklich der einzige Unterschied in C ++, viele Leute wissen das nicht. ;; )
quelle
Mit Project JUnion können Sie Strukturen in Java verwenden, indem Sie eine Klasse mit der Annotation @Struct versehen
Weitere Informationen finden Sie auf der Website des Projekts: https://tehleo.github.io/junion/
quelle
Ja, eine Klasse ist das, was Sie brauchen. Eine Klasse definiert einen eigenen Typ.
quelle
Ja, Java hat noch keinen Struktur- / Werttyp. In der kommenden Java-Version werden wir jedoch eine Version erhalten,
inline class
die der Struktur in C # ähnelt und uns dabei helfen wird, zuweisungsfreien Code zu schreiben.quelle
Strukturen "wirklich" rein werden in Java nicht unterstützt. Beispielsweise unterstützt C #
struct
Definitionen, die Werte darstellen und jederzeit zugewiesen werden können.In Java die einzigartige Möglichkeit, eine Annäherung an C ++ - Strukturen zu erhalten
ohne Verwendung eines (statischen Puffers oder einer Liste) macht so etwas
Ordnen Sie also einfach Variablen zu oder definieren Sie sie statisch in einer Klasse.
quelle