Javaの値タイプ
この投稿は、 State of the Values文書の簡単な翻訳、JVMに値型を導入するための提案、およびJohn Rose、Brian Goetz、Guy Steeleによって書かれたJava言語そのものであり、私の考えで薄められています。 バイトコードレベルで値型を実装するための提案の詳細は省略されていますが、これはほとんどのJavaプログラマーにとってあまり興味深いものではありません。
最も重要な考え方:
オブジェクト(参照)のIDは、オブジェクトの可変性をサポートするためにのみ必要です。 オブジェクトは状態を変更できますが、参照によって、それが「同じ」オブジェクトであることを常に確認できます。 したがって、値の型は厳密に不変です。値タイプの使用目的:
- 数値:複素数、符号なし、128ビット、固定小数点など。既存のプリミティブで記述されていないものすべて。
- 代数型:
Optional, Choice<T,U>
,
タプル:ペア、トリプル、...
イテレータ、カーソル
複雑な構造の平坦化
このブログは、メーリングリストをきちんとフォローしていて、一般的にトピックに近い多くのオラクルの従業員によって読まれていることを知っています。
Source: https://habr.com/ru/post/J222113/
All Articles