28 Ağustos 2023 Pazartesi

JEP 432 - Record patterns

Giriş
Hem instanceof, hem de switch expression kullanımında record destructure işlemine tabi tutulur. Yani içindeki değişkenlere bireysel olarak erişebiliriz

instanceof
Örnek
Elimizde şöyle bir kod olsun
record Point(int x, int y) { }
Şöyle yaparız
Object obj = new Point(2, 3);

if (obj instanceof Point(int x, int y)) {
    System.out.println("x: " + x + ", y: " + y);
} else {
    System.out.println("Not a point");
}
 switch expression
Şöyle yaparız
Object shape = new Circle(5);

String description = switch (shape) {
  case Point(int x, int y) -> "Point at (" + x + ", " + y + ")";
  case Circle(int radius) -> "Circle with radius " + radius;
  default -> "Unknown shape";
};

System.out.println(description);


Hiç yorum yok:

Yorum Gönder