在方法参数中使用 Final 关键字让我感到困惑
public void helloWorld(String str)
{
}
public void helloWorld(Final String str)
{
}
What is the differences between them?
最佳答案
public void helloWorld(final String str)
不允许您在方法内部本地更改 str
的值,而如果没有 Final 关键字,您可以更改本地化。
public void helloWorld(String str)
{
str = "something"; // OK
}
public void helloWorld(final String str)
{
str = "something"; // ERROR
}
当然,即使 helloWorld(String str)
也无法更改传递给该方法的 String
的值,因为 Java 是一种按值传递语言.
关于java - 方法(String str)和方法(Final String str)有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27526481/