私はこのようなことをしたいです: int a = 4 plus 5;私たちは手動でJavaでユーザ定義演算子を追加できますか?
ここでplus
は、私が定義したユーザ定義の演算子で、jvmレベルである可能性があります。
私はこのようなことをしたいです: int a = 4 plus 5;私たちは手動でJavaでユーザ定義演算子を追加できますか?
ここでplus
は、私が定義したユーザ定義の演算子で、jvmレベルである可能性があります。
いいえ、中置演算子を定義したり、既存の演算子シンボルをJava言語でオーバーロードする方法はありません。
ただし、JVM(バイトコード)にコンパイルする場合は、これをサポートする言語を使用できます。
JRuby、Groovy、Scalaなどの代替JVM言語が使用されている理由の1つは、特に内部DSLを作成する場合です。彼らはすべてこの分野で自由度があります(程度は変わります)。
Javaにコンパイルしたくない場合は、組み込みスクリプトインタプリタフレームワークを使用して、より柔軟なスクリプト言語を使用することもできます。 (たとえば、Jasper ReportsをGroovyで拡張することができます)。
あなたが本当にそれをしたい場合はScalaを学ぼう –
ソースコードレベルとJVMレベルを区別できない場合は、それについて考えるべきではありません。 – Holger