#关于java编程#
int[ ] c=b; 赋值的意思不应该只是将数组b中的对应值放到数组c中吗,之后再对数组c进行操作的时候应该只有c的值会变,而数组b的值不会变才对,请问为什么数组b里的值最后却跟着变了呢?
在图片中,应该是数组c变成{4,2,3},但是数组b还是{1,2,3}才对呀?
#关于java编程#
int[ ] c=b; 赋值的意思不应该只是将数组b中的对应值放到数组c中吗,之后再对数组c进行操作的时候应该只有c的值会变,而数组b的值不会变才对,请问为什么数组b里的值最后却跟着变了呢?
在图片中,应该是数组c变成{4,2,3},但是数组b还是{1,2,3}才对呀?
因为这里创建数组是简写格式,创建时里面要new,也就是开辟新的堆内存空间指向栈内存地址,所以前面的b,c都是地址值,而不是内存空间,所以将b赋值给c后,是将地址值赋予,指向的内存空间还是一样的,所以改变c,内存空间变了,b也会改变