2016-11-09 1 views
-3

Я хочу сделать что-то вроде этого: int a = 4 plus 5;Можем ли мы добавить пользовательский оператор в java вручную

Здесь plus - пользовательский оператор, который определен мной, может находиться на уровне jvm. Возможно ли сделать что-то подобное

+0

Приобретайте Scala, если вы действительно этого хотите –

+0

Если вы не можете различать уровень исходного кода и уровень JVM, вы даже не должны об этом думать. – Holger

ответ

1

Нет, невозможно определить инфиксные операторы или перегрузить существующие символы оператора на языке Java.

Однако вы можете использовать язык, который suppots это, если он компилируется в JVM (байт-код).

Это одна из причин, почему используются альтернативные языки JVM, такие как JRuby, Groovy или Scala, особенно если вы хотите создать внутренний DSL. Все они имеют больше свобод в этой области (в той или иной степени).

И если вы не хотите компилировать Java, вы также можете использовать встроенную среду интерпретатора сценариев и использовать более гибкий язык сценариев. (например, вы можете расширять отчеты Jasper с помощью Groovy).

+1

Я думаю, что стоит упомянуть, что Scala тоже идет в этом направлении – GhostCat

+1

Groovy тоже. – Andreas

 Смежные вопросы

  • Нет связанных вопросов^_^