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

一个集合在Java中是最终的,这意味着什么?[副本]

南宫俊喆
2023-03-14

Java宣布一个集合为最终集合意味着什么?是不能再添加更多元素了吗?是已经存在的元素不能更改吗?是别的什么吗?

共有3个答案

侯兴为
2023-03-14

你不能这样做,引用是FINAL

    final ArrayList<Integer> list = new ArrayList<Integer>();
    ArrayList<Integer> list2 = new ArrayList<Integer>();
    list=list2;//ERROR
    list = new ArrayList<Integer>();//ERROR

JLS 4.12.4

一旦分配了最终变量,它始终包含相同的值。如果最终变量包含对对象的引用,则对象的状态可能会因对该对象的操作而改变,但该变量将始终引用同一对象。

戴鸿羲
2023-03-14

您正在混淆最终对象和不可变对象。

最终--

不可变--

田化
2023-03-14

不。这只是意味着不能更改参考。

final List list = new LinkedList(); 

.... 
list.add(someObject); //okay
list.remove(someObject); //okay
list = new LinkedList(); //not okay 
list = refToSomeOtherList; //not okay
 类似资料:
  • 我是java编程新手,不知道这些错误的含义: 源代码: 程序的名称与类的名称相同,我找到了解决方案。当我删除类中的public player和playgame时,程序没有出现错误,但我仍然无法理解错误的含义。请帮帮我

  • 我想创建一个

  • 我刚刚浏览了一些代码,我看到了以下方法

  • 我是使用WEKA的初学者。问题是当我试图通过使用提供的测试集选择在我的模型上测试新数据集时,预测是可以的,但它在错误字段中给出了标志,这意味着什么?.此外,混淆矩阵和准确性细节给出了一些空格。 有没有可能所有的ST预测都错了?我搜索了很多来找出这个问题,但没有结果。 训练和测试数据是兼容的,测试数据是标记的。

  • 问题内容: 下面是代码片段。 有人可以向我解释@符号在Java中的含义吗? 问题答案: 这是一个注释。 注释是元数据的一种形式。它们提供的程序数据不属于程序本身。注释对其注释的代码的操作没有直接影响。 注释确实会影响工具和库对待程序的方式,进而会影响正在运行的程序的语义。可以从源文件,类文件中读取注释,也可以在运行时从中读取注释。