我想创建一个事件上的鼠标点击30个对象设定他们都做同样产生30 lambda表达式:使用循环
for(int i=0;i<30;i++){
seats[i].setOnMouseClicked(e->{
seats[i].setEffect(lighting);
});
}
但我不断收到这些错误:
error: local variables referenced from a lambda expression must be final or effectively final
seats[i].setEffect(lighting);
任何建议如何解决它,而不是手动写入30次
作业与它有什么关系?你不能*访问lambda表达式中的一个非最终(或非有效的)最终局部变量。 OP甚至不会尝试在问题中的lambda表达式中分配任何内容。 –
@James_D真的我不清楚。我澄清了我的答案。 – Mattias