2016-11-09 23 views
-3

我想要做這樣的事情: int a = 4加5;我們可以手動在java中添加用戶定義的運算符

這裏plus是由我定義的用戶定義的運算符,可以在jvm級別。是否有可能做這樣的事情

+0

如果你確實想要學習Scala,那就去學Scala吧 –

+0

如果你無法區分源代碼級別和JVM級別,那麼你甚至不應該考慮這一點。 – Holger

回答

1

不,沒有辦法定義中綴運算符或重載Java語言中現有的運算符符號。

但是,如果編譯爲JVM(字節碼),則可以使用一種能夠解決此問題的語言。

這是使用JRuby,Groovy或Scala等其他JVM語言的原因之一,特別是如果您想要形成內部DSL時。他們在這方面都有更多的自由(在不同程度上)。

如果您不想編譯爲Java,您還可以使用內置腳本解釋器框架並使用更靈活的腳本語言支持。 (例如,您可以使用Groovy擴展Jasper Reports)。

+1

我認爲值得一提的是,Scala也朝着這個方向發展 – GhostCat

+1

Groovy也是如此。 – Andreas

相關問題