Попробуйте определить, какие фрагменты кода компилируются без ошибок: 
 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 имеют правильные типы.