我有两个数组:
float a[][] = new float[3][3];
float b[][] = new float[7][7];
我想知道会发生什么,如果你现在写a = b; a中的所有值会发生什么?数组a现在有多长?它有哪些值?
答案 0 :(得分:1)
在分配之后,a
将引用与b
相同的对象,因此其长度将为7,并且它将具有该数组的值。
如果没有对a
引用的原始数组的其他引用,则它将有资格进行垃圾回收。否则,该数组将继续存在。
Java中的数组与任何其他对象完全相同。
答案 1 :(得分:0)
内部会发生这种情况
float a[][] = new float[3][3];
创建一个数组对象并将其分配给一个
float b[][] = new float[7][7];
创建一个数组对象并将其分配给b
a=b
' b'对象被分配给a,现在a和b指向同一个数组对象,并且以前的对象有资格进行垃圾回收。