相关疑难解决方法(0)

方法参数中的final关键字

我经常遇到如下所示的方法:

public void foo(final String a, final int[] b, final Object1 c){
}
Run Code Online (Sandbox Code Playgroud)

如果在不传递最终参数的情况下调用此方法会发生什么.即稍后更改的Object1(因此未声明为final)可以很好地传递给此方法

java final

146
推荐指数
5
解决办法
13万
查看次数

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

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

public static void foo(final int x) {
  final String qwerty = "bar"; 
}
Run Code Online (Sandbox Code Playgroud)

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

这种做法使你的代码向不变性的方向推动,这通常被认为是一个加分.但是,它也会使代码混乱,"最终"出现在各处.您对Java中的局部变量和方法参数的final关键字有何看法?

java final

57
推荐指数
5
解决办法
10万
查看次数

在Java中更改参数是一个好习惯

假设我正在foo(int i)用Java 编写一个方法.
由于i通过值传递,因此可以安全地更改它foo.例如

void foo(int i) {
   i = i + 1; // change i
   ...
}

在Java中更改方法的参数是否被认为是好的或坏的做法?

java pass-by-value

10
推荐指数
2
解决办法
8358
查看次数

标签 统计

java ×3

final ×2

pass-by-value ×1