java - 为什么有些程序员喜欢在方法参数中加上final关键字?

标签 java methods final

最近,我发现在一些项目中,他们非常喜欢在方法参数中添加 final 关键字,例如:

public static String getSuffix(final String fileName) {
    if (fileName.indexOf('.') >= 0) {
        return fileName.substring(fileName.lastIndexOf('.'));
    }
    return EMTPY_STRING;
}
public HttpResult(final int statusCode) {
    this.statusCode = statusCode;
}

最佳答案

它可以帮助您捕获错误。

例如,如果你写:

public HttpResult(final int statusCode) {
    statusCode = statusCode;
}

你会得到一个编译错误,因为你正在为你的本地最终变量赋值,而如果你写

public HttpResult(int statusCode) {
    statusCode = statusCode;
}

您不会遇到编译错误,但不会分配 statusCode 成员。

关于java - 为什么有些程序员喜欢在方法参数中加上final关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303310/

相关文章:

java - private static final double 为 0

java - JPA、Eclipselink - 关系在新事务中被删除

java - JWT 示例 - "Error while requesting an Access Token"

java - 使用 Optaplanner 7.0.0.Final 时出现 ClassNotFoundException org.reflections.Configuration

c - C 方法中有关 Float 和 Int 的错误

java - 具有非最终成员且没有修改器方法的类的线程安全性

java - 如何强制 Java 在 Windows 上使用 Unix 文件分隔符?

javascript - 在对象内调用对象方法——错误: cannot read property of undefined

java - 如何获取存储在枚举中的引用?

java - 声明为 Final 的经典变量是否包含与非 Final 变量不同的内存段?