当前位置: 首页 > 知识库问答 >
问题:

变量是“有效的最终”是什么意思?[副本]

邢起运
2023-03-14

共有1个答案

梁池暝
2023-03-14

有效地final意味着在获得初始值后从未更改它。

一个简单的例子:

public void myMethod() {
    int a = 1;
    System.out.println("My effectively final variable has value: " + a);
}

在这里,A声明为final,但它被认为是有效的final,因为它从未被更改。

public void myMethod() {
    int a = 1;
    Runnable r = new Runnable() {
        @Override
        public void run() {
            System.out.println("My effectively final variable has value: " + a);
        }
    };
}
 类似资料:
  • 问题内容: 6年前关闭。 有关匿名类的文档说明 匿名类无法在其封闭范围内访问未声明为final或有效地为final的局部变量。 我不明白变数为“有效的最终”是什么意思。有人可以提供一个示例来帮助我理解这意味着什么吗? 问题答案: 有效地最终意味着它在获得初始值之后永远不会改变。 一个简单的例子: 在这里,并没有声明为final,但是由于它从未更改,因此实际上被认为是 final 。 从Java 8

  • 问题内容: 通过使ArrayList(或其他Collection)成为最终形式,我们可以获得哪些优点/缺点?我仍然可以将新元素添加到ArrayList中,删除元素并进行更新。但是,什么才是最终的效果呢? 问题答案: 但是,什么才是最终的效果呢? 这意味着您无法将变量重新绑定为指向其他 集合实例 : 出于风格考虑,我声明了大多数我不打算更改为的引用。 我仍然可以将新元素添加到ArrayList中,删

  • 问题内容: 这个问题已经在这里有了答案 : 为什么在匿名类中只能访问最终变量? (15个答案) 为什么实例变量“忽略Lambda表达式中使用的变量必须是最终变量或实际上是最终变量”警告[重复] (2个答案) Lambdas:局部变量不需要最终变量,实例变量不需要 (10个答案) 2年前关闭。 当我编写此代码时,我收到一个编译时错误,该错误是: “ lambda中的变量必须是final或有效的fin

  • 问题内容: 我正在尝试在Linux计算机(Slackware)上安装Java应用程序。 我收到以下错误,但我不理解。 你能告诉我如何解决这个问题吗?谢谢。 这是我得到的:(我看到需要设置一些 X11 DISPLAY 变量,但是我应该给它什么值,以及如何赋予它?) 问题答案: 如果您在主显示屏上,则 或者如果您使用的是csh或tcsh 在运行您的应用之前。 实际上,我很惊讶它没有自动设置。您是否要从

  • 可能重复: 什么 我在一些java代码中遇到了一些不熟悉的符号,虽然代码编译和功能正确,但我对尖括号在代码中的确切作用感到困惑。我在com中找到了代码。太阳Java语言帮助搜索位缓冲区,其片段如下: 那些看起来神秘的括号是做什么的?它看起来几乎像c插入/提取,但我知道Java没有这样的东西。 此外,我还尝试在谷歌上搜索,但出于某种原因,谷歌似乎看不到尖括号,即使我把它们放在引号中。

  • 我已经阅读了Junit ExpectedException类的文档,在我所研究的所有示例中,.expect()方法的参数似乎都是奇怪地实现的。当您传入预期的异常类型时,它的.class扩展名似乎不是任何类型的方法。 有人能解释一下这个语法吗?谢谢你。示例代码如下: