Java 我可以将数组的一部分设为最终/不可更改吗?
您好,我有一个StringBuilder的2D数组,我用它来画一个游戏板,有没有办法使它的一部分(StringBuilder在已知位置的一部分)不可更改?Java 我可以将数组的一部分设为最终/不可更改吗?,java,Java,您好,我有一个StringBuilder的2D数组,我用它来画一个游戏板,有没有办法使它的一部分(StringBuilder在已知位置的一部分)不可更改? 提前感谢简短的回答是“不”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。简短的回答是“否”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。您是说您的数据类型是StringBuilder[][]?你到底想让什么成为不可变的?二维数组中的
提前感谢简短的回答是“不”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。简短的回答是“否”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。您是说您的数据类型是
StringBuilder[][]
?你到底想让什么成为不可变的?二维数组中的整行?还是单个StringBuilder条目?如果你能提供更多的细节,我想可能有更好的方法来完成你想做的事情
作为补充信息,我将尽我所能回答您发布的问题
默认情况下,数组是可变的,对此您无能为力。甚至Java中的final
关键字也不能保证对象的内容不会改变;它只保证不会在其位置创建新对象
如果使用第三方库是一种选择,那么您可以查看Google Guava:中的一些ImmutableCollection类型,但我不能完全确定这是您要问的 您是说您的数据类型是
StringBuilder[][]
?你到底想让什么成为不可变的?二维数组中的整行?还是单个StringBuilder条目?如果你能提供更多的细节,我想可能有更好的方法来完成你想做的事情
作为补充信息,我将尽我所能回答您发布的问题
默认情况下,数组是可变的,对此您无能为力。甚至Java中的final
关键字也不能保证对象的内容不会改变;它只保证不会在其位置创建新对象
如果使用第三方库是一种选择,那么您可以查看Google Guava:中的一些ImmutableCollection类型,但我不能完全确定这是您要问的 给我们举一些例子,说明您需要什么java中的数组总是可变的。我真的不明白为什么
StringBuilder
的数组是可变的。你确定这是做你想做的事情的最好方法吗?你能提供更多关于你的游戏板是什么样子以及为什么一个StringBuilder[][][]
?给我们一些你需要的例子java中的数组总是可变的我真的不明白为什么StringBuilder的数组是可变的。你确定这是做你想做的事情的最好方法吗?你能提供更多关于你的游戏板是什么样子以及为什么是StringBuilder[][]]
的信息吗?