java - 方法(String str)和方法(Final String str)有什么区别

标签 java methods arguments keyword

在方法参数中使用 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/

相关文章:

Python:使用argparse显示输入参数的顺序

java - 用java分割字符串

IOS/xcode : what methods are getting executed by default

java - 我需要java中的验证方法

java - 我的方法有什么问题?

c - 不兼容的指针类型错误 [C]

iphone - Xcode 中的每个构建都无效参数?

java - 将无穷大的值添加到数组中

java - 从 Java VM 5 更新到 6 确实大大增加了内存消耗

java - 使用 PDFBox 将相同的文本重新写入现有的 PDF 文档