Как работает лямбда? Откуда он знает, как вызвать функциональный интерфейс? Мне нужны подробности, потому что ничто из тJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как работает лямбда? Откуда он знает, как вызвать функциональный интерфейс? Мне нужны подробности, потому что ничто из т

Сообщение Anonymous »

Это программа javafx, и она работает.
button.setOnAction(_ ->{
int side = 0;
Random rand = new Random();
side = rand.nextInt(2);
if(side == 0){
//code here
else{
//code here
}
});

Расширенная версия этой функциональности будет заключаться в создании класса, реализующего EventHandler. Затем создайте экземпляр этого класса для button.setOnAction. Я не понимаю, как лямбда работает так же, как более длинный код ниже. Откуда он знает, как использовать функциональный интерфейс EventHandler. Я просмотрел много видеороликов на YouTube, в которых нет подробностей, поэтому и спрашиваю здесь.
class Handler implements EventHandler{
@Override
public void handle(ActionEvent actionEvent) {
int side = 0;
Random rand = new Random();
side = rand.nextInt(2);
if(side == 0){

}
else{

}
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... erface-i-w
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»