gpt4 book ai didi

java - 为什么要在 Java 中将局部变量和方法参数标记为 "final"?

转载 作者:IT老高 更新时间:2023-10-28 20:23:28 24 4
gpt4 key购买 nike

在 Java 中,您可以使用 final 关键字限定局部变量和方法参数。

public static void foo(final int x) {
final String qwerty = "bar";
}

这样做会导致无法在方法体中重新分配 x 和 qwerty。

这种做法将您的代码推向不变性的方向,这通常被认为是一个优点。但是,它也倾向于使代码困惑,到处都出现“final”。你对 Java 中局部变量和方法参数的 final 关键字有什么看法?

最佳答案

您应该在适当的时候尝试这样做。除了在您“意外”尝试修改值时发出警告之外,它还向编译器提供信息,可以更好地优化类文件。这是 Robert Simmons, Jr 所著的“Hardcore Java”一书中的要点之一。事实上,本书第二章的全部内容都在使用 final 来促进优化和防止逻辑错误。出于这个原因,诸如 PMD 和 Eclipse 的内置 SA 等静态分析工具会标记这些情况。

关于java - 为什么要在 Java 中将局部变量和方法参数标记为 "final"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/316352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com