bouzuya.hatenablog.com

ぼうずやのにっき

Java instanceof のパターンマッチ変数のスコープ / ABC048 を解いた

Javainstanceof でのパターンマッチの変数のスコープはてっきり続く {} の中だけかと思ったのだけど if (!(s instanceof T t)) {} のあとで使えていて「そうなのか」と思った。

public static boolean bigEnoughRect(Shape s) {
    if (!(s instanceof Rectangle r)) {
        // You cannot use the pattern variable r here because
        // the predicate s instanceof Rectangle is false.
        return false;
    }
    // You can use r here.
    return r.length() > 5;
}

https://docs.oracle.com/javase/jp/17/language/pattern-matching-instanceof-operator.html


ABC048 : AtCoder Beginner Contest 048 の A, B, C, D を解いた。


今日のコミット。