gpt4 book ai didi

java - Java 中的最终 int

转载 作者:行者123 更新时间:2023-11-30 03:35:17 24 4
gpt4 key购买 nike

我有一个相对简单的问题,关于 final 的功能在 java 。当我编译这段代码时:

import java.util.*;
import java.lang.*;
import java.io.*;


class Arrays
{
public static void main (String[] args) throws java.lang.Exception
{
final int[] myArray = { 1,2 };
myArray[1] = 3;
System.out.println (myArray[1]);
}
}

数字“3”被打印。然而,我的印象是final意味着该数组 (myArray) 中保存的值不能再更改并且是恒定的。

这里还有另一段代码:

final int [] a1 = {1, 2}; 
int [] b1 = {3, 4};
a1 = b1; System.out.println (a1[1]);

我相信系统应该打印“2”,因为 a1已完成并且数组中的值是常量。不过 friend 认为应该是“4”。请帮我澄清我对final的理解。

最佳答案

int[] 是一种对象类型(不是基元,也不是 int)。最终引用意味着您在引用 Object 实例时无法重新分配引用。

final int [] a1 = {1, 2}; 
a1 = {3,4}; // <-- illegal, a1 is final.

事实上,Java 在这两种情况下都会生成 final(对象 的值是其引用)。

关于java - Java 中的最终 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28122572/

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