Я хочу сделать что-то вроде этого: int a = 4 plus 5;Можем ли мы добавить пользовательский оператор в java вручную
Здесь plus
- пользовательский оператор, который определен мной, может находиться на уровне jvm. Возможно ли сделать что-то подобное
Я хочу сделать что-то вроде этого: int a = 4 plus 5;Можем ли мы добавить пользовательский оператор в java вручную
Здесь plus
- пользовательский оператор, который определен мной, может находиться на уровне jvm. Возможно ли сделать что-то подобное
Нет, невозможно определить инфиксные операторы или перегрузить существующие символы оператора на языке Java.
Однако вы можете использовать язык, который suppots это, если он компилируется в JVM (байт-код).
Это одна из причин, почему используются альтернативные языки JVM, такие как JRuby, Groovy или Scala, особенно если вы хотите создать внутренний DSL. Все они имеют больше свобод в этой области (в той или иной степени).
И если вы не хотите компилировать Java, вы также можете использовать встроенную среду интерпретатора сценариев и использовать более гибкий язык сценариев. (например, вы можете расширять отчеты Jasper с помощью Groovy).
Приобретайте Scala, если вы действительно этого хотите –
Если вы не можете различать уровень исходного кода и уровень JVM, вы даже не должны об этом думать. – Holger