Nehmen Sie Muster in Java ohne Instanz oder Schalter auf

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Nehmen Sie Muster in Java ohne Instanz oder Schalter auf

by Anonymous » 30 Apr 2025, 18:52

Java 21 Rekordmuster verspricht die Einführung von Zerstörungen in die Java -Sprache. Es scheint jedoch eng mit dem Musteranpassung gekoppelt zu sein, der nur als Teil des Vergleichs von oder in Switch Anweisungen/Ausdrücke verwendet werden kann.
Betrachten Sie den folgenden Datensatz.

Code: Select all

public record Point(int x, int y) {}
Gibt es eine Möglichkeit, ein Objekt dieses bestimmten Typs zu zerstören, ohne Instanz von oder Switch zu verwenden? Die folgenden Versuche machen Destructure Point . Der Code ist jedoch wenig sinnvoll, da weder Instanzen von noch Switch erforderlich sind, wenn wir Null-Safety annehmen.

Code: Select all

Point point = new Point(0, 0);

// destructuring with instanceof
if (point instanceof Point(int x, int y)) {
System.out.printf("Point at (%d,%d)", x, y);
}

// destructuring with switch
switch (point) {
case Point(int x, int y) -> System.out.printf("Point at (%d,%d)", x, y);
}

Top