public static void main(String[] args) {
List<byte[]> list=new ArrayList<>();
byte[] s=new byte[1];
for(int i=0;i<3;i++){
s[0]=(byte)i;
list.add(s);
}
list.forEach(System.out::println);
list.forEach(e->System.out.print(Arrays.toString(e)));
}
输出结果:
[B@2aae9190
[B@2aae9190
[B@2aae9190
[2][2][2]
可以看到,list中三个元素的内存地址是一样的,list中存的是引用
public static void main(String[] args) {
List<byte[]> list=new ArrayList<>();
for(int i=0;i<3;i++){
byte[] s=new byte[1];
s[0]=(byte)i;
list.add(s);
}
list.forEach(System.out::println);
list.forEach(e->System.out.print(Arrays.toString(e)));
}
输出结果:
[B@2aae9190
[B@2f333739
[B@77468bd9
[0][1][2]