Страницы

Поиск по вопросам

четверг, 25 октября 2018 г.

Java методы, сокращенные до выражений

В C#, начиная с версии 6.0, метод, который только возвращает значение:
public int func(int x) { return x*x; }
Можно сократить до выражения (expression-bodied member):
public int func(int x) => x*x;
Существуют ли подобные сокращения в Java?


Ответ

Нет, объявления членов класса с помощью выражения в Java нет.
В последней спецификации Java 9 в синтаксисе объявления метода явно указано тело:
MethodDeclaration: {MethodModifier} MethodHeader MethodBody
И предложения такого для Java я не нашел.
Можете посмотреть в сторону языка Kotlin, он работает под JVM и предоставляет много синтаксического сахара, в том числе объявление функции
fun sum(a: Int, b: Int) = a + b

Комментариев нет:

Отправить комментарий