なぜJava で final なのかという議論はよく知られています。String
しかし、なぜ javaslang のCharSeqも最終的なのか疑問に思っていました。
javaslang の FP のインスピレーションと、Haskell がtype synonymsCharSeq
を許可しているという事実を考えると、おそらくメソッドを final として非 finalにする良い機会になると思いました。
非 finalCharSeq
を使用すると、空の本体でそれを拡張して、型シノニムの適切な近似を作成できます。これにより、追加の型安全性が必要な場合に、小さな型パターンのボイラープレートを回避できます。
これがデザインではないのには十分な理由があると確信しており、それが私がここで質問している理由です.
2016 年 12 月 16 日更新: github の javaslang チームに問題#1764として拡張要求を提出しました。