Java との相互運用
💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。
Flix は Java Virtual Machine(JVM)ベースのプログラミング言語です。したがって:
- Flix プログラムは効率的な JVM バイトコードにコンパイルされます。
- Flix プログラムは任意の Java Virtual Machine 上で動作します1。
- Flix プログラムは Java コードを呼び出すことができます。
Flix は、相互運用(Interoperability)に必要な Java の機能のほとんどをサポートしています:
- クラスからのオブジェクト生成
- クラスやオブジェクトのメソッド呼び出し
- クラスやオブジェクトのフィールドの読み書き
- クラスやインターフェースの匿名拡張
- 内部クラスへのアクセス
- 例外のキャッチとスロー
- プリミティブ値のボックス化とアンボックス化
このため、Flix プログラムは Java クラスライブラリを再利用できます。さらに、Flix のパッケージマネージャは Maven をサポートしています。
Flix と Java は同じ基本型を共有していますが、次の表に示すように名前が異なります:
| Flix の型 | Java の型 |
|---|---|
| Bool | boolean |
| Char | char |
| Float32 | float |
| Float64 | double |
| Int8 | byte |
| Int16 | short |
| Int32 | int |
| Int64 | long |
| String | String |
Flix では、プリミティブ型は常にアンボックス化されています。そのため、java.lang.Integer を期待する Java メソッドを呼び出すには、Flix の Int32 を持っている場合、java.lang.Integer.valueOf を呼び出してボックス化する必要があります。
-
Flix には少なくとも Java 21 が必要です。 ↩