2016-11-09 3 views
-3

私はこのようなことをしたいです: int a = 4 plus 5;私たちは手動でJavaでユーザ定義演算子を追加できますか?

ここでplusは、私が定義したユーザ定義の演算子で、jvmレベルである可能性があります。

+0

あなたが本当にそれをしたい場合はScalaを学ぼう –

+0

ソースコードレベルとJVMレベルを区別できない場合は、それについて考えるべきではありません。 – Holger

答えて

1

いいえ、中置演算子を定義したり、既存の演算子シンボルをJava言語でオーバーロードする方法はありません。

ただし、JVM(バイトコード)にコンパイルする場合は、これをサポートする言語を使用できます。

JRuby、Groovy、Scalaなどの代替JVM言語が使用されている理由の1つは、特に内部DSLを作成する場合です。彼らはすべてこの分野で自由度があります(程度は変わります)。

Javaにコンパイルしたくない場合は、組み込みスクリプトインタプリタフレームワークを使用して、より柔軟なスクリプト言語を使用することもできます。 (たとえば、Jasper ReportsをGroovyで拡張することができます)。

+1

Scalaがその方向に行くことに言及する価値があると思います – GhostCat

+1

Groovyもそうです。 – Andreas

関連する問題