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 变量是什么?

中等java

想查看完整答案?

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

前往学习中心查看答案