如何链接2个最终数组

时间:2016-03-01 10:30:55

标签: java

因此,我无法找到如何链接2个最终数组。像这样:

    final String[] array1 = new String[4];
    final String[] array2 = new String[4];

    array1 = array2;

但由于两个阵列都是最终的,我不能做我在上面的例子中所做的事情。有没有什么方法可以将array1设置为array2,以便对array1所做的任何更改都会自动反映到array2中?

提前致谢。

2 个答案:

答案 0 :(得分:1)

  

有什么方法可以将array1设置为array2,以便对array1所做的任何更改都会自动反映到array2中吗?

自动,不是。在您使用某些内容初始化<style name="BottomSheetDialog" parent="Theme.Design.Light.BottomSheetDialog"> <item name="bottomSheetStyle">@style/bottomSheetStyleWrapper</item> </style> <style name="bottomSheetStyleWrapper" parent="Widget.Design.BottomSheet.Modal"> <item name="behavior_peekHeight">500dp</item> </style> BottomSheetDialog dialog = new BottomSheetDialog(this, R.style.BottomSheetDialog); dialog.setContentView(R.layout.layout_bottom_sheet); dialog.show(); array1后,您无法再次重新初始化它们,因为它们都是array2

但是,您可以手动 final的内容复制到array2

array1

这样可行,因为修改后的for (int i = 0; i < 4; i++) { array1[i] = array2[i]; } 不能保证不变性 - 它只是确保一旦设置了对变量的引用,它就不能再改变了。

答案 1 :(得分:1)

如果我们想要在array2中反映array1的更改,那么我们不需要声明两个不同的数组。我们可以将array2的引用指向array1,它将显示更改,例如:

final String[] array1 = new String[4];
final String[] array2 = array1;