将java方法参数设为final [英] Making java method arguments as final

查看:40
本文介绍了将java方法参数设为final的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

final 与下面的代码有何不同.将参数声明为 final.

What difference that final makes between the code below. Is there any advantage in declaring the arguments as final.

public String changeTimezone( Timestamp stamp, Timezone fTz, Timezone toTz){  
    return ....
}

public String changeTimezone(final Timestamp stamp, final Timezone fTz, 
        final Timezone toTz){
    return ....
}

推荐答案

由于形式方法参数是一个局部变量,只有当它们声明为 final 时,您才能从内部匿名类访问它们.

As a formal method parameter is a local variable, you can access them from inner anonymous classes only if they are declared as final.

这样可以避免在方法体中声明另一个局部最终变量:

This saves you from declaring another local final variable in the method body:

 void m(final int param) {
        new Thread(new Runnable() {
            public void run() {
                System.err.println(param);
            }
        }).start();
    }

这篇关于将java方法参数设为final的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆