在方法参数中使用Final关键字让我感到困惑
public void helloWorld(String str)
{
}
public void helloWorld(Final String str)
{
}
What is the differences between them?
答案 0 :(得分:4)
public void helloWorld(final String str)
不允许您在方法内部更改str
的值,而没有最终关键字,您可以在本地更改它。
public void helloWorld(String str)
{
str = "something"; // OK
}
public void helloWorld(final String str)
{
str = "something"; // ERROR
}
当然,即使helloWorld(String str)
也无法更改传递给方法的String
的值,因为Java是一种按值传递的语言。