gpt4 book ai didi

java - 为什么我可以在 Android AIDE 中为最终变量重新分配一个新值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:57:08 25 4
gpt4 key购买 nike

这怎么可能?我怎样才能更改标记为最终的变量?

public class Main
{
public static void main(String[] args)
{
final int NUM;

NUM = 22;
NUM = 33;

System.out.println(NUM);
}

}

我在 Android 中使用 AIDE 应用程序...它编译成功并打印了 33

最佳答案

如果你能做到这一点,那就是 AIDE 应用程序中的错误。您应该向开发人员报告。 Java 的 JLS 兼容实现不允许重新分配 final 变量(像这样)。

如果您想为他们提供 JLS 规范引用以支持您的错误报告:

JLS 4.12.4 final variables

A variable can be declared final. A final variable may only be assigned to once. It is a compile-time error if a final variable is assigned to unless it is definitely unassigned immediately prior to the assignment (§16 (Definite Assignment)).

关于java - 为什么我可以在 Android AIDE 中为最终变量重新分配一个新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52351838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com