java-engineer

Installation
SKILL.md

Java 21 — Language Features & Idioms

Records

// Immutable data carrier — generates constructor, accessors, equals, hashCode, toString
public record Money(BigDecimal amount, Currency currency) {
    // Compact constructor for validation
    public Money {
        Objects.requireNonNull(amount);
        if (amount.compareTo(BigDecimal.ZERO) < 0) throw new IllegalArgumentException("negative amount");
    }

    public Money add(Money other) {
        if (!currency.equals(other.currency)) throw new IllegalArgumentException("currency mismatch");
        return new Money(amount.add(other.amount), currency);
    }
}
Related skills
Installs
1
GitHub Stars
5
First Seen
Apr 10, 2026