Questions tagged «effectively-final»

2
有效最终与最终-不同的行为
到目前为止,我认为有效的final和final或多或少是等效的,并且JLS将在实际行为上将它们视为相同或相似的内容。然后我发现了这个人为的场景: final int a = 97; System.out.println(true ? a : 'c'); // outputs a // versus int a = 97; System.out.println(true ? a : 'c'); // outputs 97 显然,JLS在这两者之间起了重要的作用,我不确定为什么。 我读了其他主题 最终和有效最终之间的区别 有效的最终变量与最终变量 变量“有效最终”是什么意思? 但它们没有详细说明。毕竟,从更广泛的意义上讲,它们似乎是等效的。但是深入研究,它们显然有所不同。 是什么导致此行为,任何人都可以提供一些解释此问题的JLS定义吗? 编辑:我发现了另一个相关的方案: final String a = "a"; System.out.println(a + "b" == "ab"); // outputs true // …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.