logo

Lambda 中的 final 变量与 effectively final 变量是什么?

What are final variables and effectively final variables in lambdas?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: programming, java

标签: final, effectively final, Closure

参考答案摘要

核心答案 在 Java Lambda 中,捕获外部局部变量时要求该变量是 final 或 effectively final 。 定义 final :显式用 final 声明,赋值后不可再修改。 effectively final :没有写 final ,但在初始化后 从未被重新赋值 ,编译器把它当作“等效 final”。 原因是 Lambda 可能在不同时间/线程执行,需要确保捕获变量的一致性。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

Lambda 中的 final 变量与 effectively final 变量是什么?

Mediumjava

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案