Skip to content
Java

Record

Java 14+ の record クラス。

#record#data-class

Code

java
// Define record
public record Point(int x, int y) {}

// Usage
Point p = new Point(3, 4);
System.out.println(p.x()); // 3
System.out.println(p.y()); // 4
System.out.println(p);    // Point[x=3, y=4]

// Compact constructor
public record Range(int start, int end) {
    public Range {
        if (start > end) {
            throw new IllegalArgumentException("start > end");
        }
    }
}

// Custom method
public record Circle(double radius) {
    public double area() {
        return Math.PI * radius * radius;
    }
}