Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以将数组的一部分设为最终/不可更改吗?_Java - Fatal编程技术网

Java 我可以将数组的一部分设为最终/不可更改吗?

Java 我可以将数组的一部分设为最终/不可更改吗?,java,Java,您好,我有一个StringBuilder的2D数组,我用它来画一个游戏板,有没有办法使它的一部分(StringBuilder在已知位置的一部分)不可更改? 提前感谢简短的回答是“不”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。简短的回答是“否”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。您是说您的数据类型是StringBuilder[][]?你到底想让什么成为不可变的?二维数组中的

您好,我有一个StringBuilder的2D数组,我用它来画一个游戏板,有没有办法使它的一部分(StringBuilder在已知位置的一部分)不可更改?
提前感谢

简短的回答是“不”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。

简短的回答是“否”,在Java中无法做到这一点。您必须将数组封装在另一个类中,然后实现代码以使该数组的某些部分不可更改。

您是说您的数据类型是
StringBuilder[][]
?你到底想让什么成为不可变的?二维数组中的整行?还是单个StringBuilder条目?如果你能提供更多的细节,我想可能有更好的方法来完成你想做的事情

作为补充信息,我将尽我所能回答您发布的问题

默认情况下,数组是可变的,对此您无能为力。甚至Java中的
final
关键字也不能保证对象的内容不会改变;它只保证不会在其位置创建新对象


如果使用第三方库是一种选择,那么您可以查看Google Guava:中的一些ImmutableCollection类型,但我不能完全确定这是您要问的

您是说您的数据类型是
StringBuilder[][]
?你到底想让什么成为不可变的?二维数组中的整行?还是单个StringBuilder条目?如果你能提供更多的细节,我想可能有更好的方法来完成你想做的事情

作为补充信息,我将尽我所能回答您发布的问题

默认情况下,数组是可变的,对此您无能为力。甚至Java中的
final
关键字也不能保证对象的内容不会改变;它只保证不会在其位置创建新对象


如果使用第三方库是一种选择,那么您可以查看Google Guava:中的一些ImmutableCollection类型,但我不能完全确定这是您要问的

给我们举一些例子,说明您需要什么java中的数组总是可变的。我真的不明白为什么
StringBuilder
的数组是可变的。你确定这是做你想做的事情的最好方法吗?你能提供更多关于你的游戏板是什么样子以及为什么一个
StringBuilder[][][]
?给我们一些你需要的例子java中的数组总是可变的我真的不明白为什么
StringBuilder的数组是可变的。你确定这是做你想做的事情的最好方法吗?你能提供更多关于你的游戏板是什么样子以及为什么是
StringBuilder[][]]
的信息吗?