相关疑难解决方法(0)

将java方法参数作为final

最终在下面的代码之间有什么不同.将参数声明为final是否有任何优势.

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

public String changeTimezone(final Timestamp stamp, final Timezone fTz, 
        final Timezone toTz){
    return ....
}
Run Code Online (Sandbox Code Playgroud)

java methods arguments final

81
推荐指数
4
解决办法
4万
查看次数

为什么不能将所有函数参数声明为final?

好的,所以我理解为什么我们应该从这个问题宣布论证是最终的,但我不明白为什么我们不应该...

由于Java总是使用pass by value,这意味着我们不能通过给定的参数返回一个新值,我们只能覆盖它,并使参数无用,因为我们不使用传递的值...

Java中非最终方法参数的唯一好处是您不必创建参数类型的局部变量吗?

PS这个问题是由... PMD的规则引发的MethodArgumentCouldBeFinal

java oop pmd

7
推荐指数
1
解决办法
615
查看次数

方法声明中参数声明之前的final关键字

class hello {
    public static void main(String arg[]){

    int[] c = { 2 };
    final int[] d = { 3 };

    }

static void useArgs(final int a, int b, final int[] c, int[] d) {

    c[0]=d[0]; // no error 
    c = d; //error 
    }
 }
Run Code Online (Sandbox Code Playgroud)

伙计们可以解释一下这种行为吗?

java methods final parameter-passing

2
推荐指数
1
解决办法
137
查看次数

标签 统计

java ×3

final ×2

methods ×2

arguments ×1

oop ×1

parameter-passing ×1

pmd ×1