gpt4 book ai didi

java - 将 "const"变量传递给 Java 中的方法

转载 作者:搜寻专家 更新时间:2023-10-30 21:16:15 26 4
gpt4 key购买 nike

Java 中是否有与 C++ 中传递 const 引用等效的方法?
是否遗漏了方法签名方面的“常量”误导?

最佳答案

不,没有。

Java“final”并不完全等同于 C++“const”。以下(final 变量的延迟初始化)适用于 Java:

final double x;
int w = 1;
if (w > 2)
{
x = 0.5;
}
else
{
x = - 0.5;
}

但它在 C++ 中不起作用,将“final”替换为“const”。

在方法声明中对变量使用“final”在 Java 中很有用,因为它允许您在方法中创建的任何匿名类中使用此变量。

附言。起初我对 Java 中缺少“const”感到失望,但后来学会了接受“final”。

PS2。此线程中链接到的 Java 词汇表 ( http://mindprod.com/jgloss/immutable.html ) 有一个错误:不,您无法 100% 保证最终变量不会更改其值:

1)它从“undefined”变成了“defined”,但是编译器会告诉你如果你在初始化之前引用了它

2) 在 Linux 上,double 存储在寄存器中时精度为 80 位,但存储在内存中时精度为 64 位。当一个最终的 double 变量被推出寄存器时,它将被截断并改变它的值。正如 Joel Spolsky 所说,“抽象引发了漏洞”。

关于java - 将 "const"变量传递给 Java 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/502430/

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