Попробуйте определить, какие фрагменты кода компилируются без ошибок:
1
a -> { return a.startsWith("test") }
2.
(boolean b, int c) -> ++C
3.
(a, b) -> { return a.startsWith(b); }
4
int f -> f+=6
Другие предметы Колледж Лямбда-выражения в Java программирование на Java компиляция кода Java ошибки компиляции Java фрагменты кода Java колледж программирования Java Новый
Давайте разберем предоставленные фрагменты кода по очереди и определим, какие из них компилируются без ошибок.
Этот фрагмент кода является лямбда-выражением. Однако, чтобы он компилировался, необходимо знать, какой тип имеет переменная a. Метод startsWith существует в классе String, поэтому a должен быть строкой. Если a объявлен как String, то этот код будет компилироваться без ошибок.
В этом фрагменте есть несколько ошибок:
Таким образом, этот фрагмент не компилируется.
Этот фрагмент кода также является лямбда-выражением. Однако, как и в первом случае, необходимо знать типы переменных a и b. Если a является строкой, а b также строкой, то этот код будет компилироваться без ошибок.
Здесь есть ошибка, так как f не может быть изменен в лямбда-выражении, поскольку он объявлен как int, а не как объект. Лямбда-выражения не могут изменять значения параметров. Следовательно, этот фрагмент не компилируется.
В итоге, компилируются без ошибок только первые и третьи фрагменты, при условии, что переменные a и b имеют правильные типы.