我想把一个方法返回的数组存储到另一个数组中。我该怎么做?
public int[] method(){ int z[] = {1,2,3,5}; return z; }
当我调用这个方法时,我如何将返回的数组(z)存储到另一个数组中?
kpbwa7wx1#
public int[] method() { int z[] = {1,2,3,5}; return z; }
上面的方法不返回数组本身,而是返回对数组的引用。在调用函数中,你可以在另一个引用中收集这个返回值,比如:
int []copy = method();
在此之后,copy也将引用z之前引用的同一个数组。如果这不是你想要的,你想创建一个数组的副本,你可以使用System.arraycopy创建一个副本。
copy
z
System.arraycopy
0yg35tkg2#
int[] x = method();
c90pui9n3#
int[] nums = nums();是否要制作阵列的另一个物理副本?然后使用
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
iyfjxgzm4#
尝试:-
int arr[]=mymethod(); //caling method it stores in array public int[] mymethod() { return arr; }
kyks70gy5#
如果要复制数组,可以使用copyOf()。
copyOf()
p4rjhz4m6#
你确定要抄吗?
int[] myArray = method(); // now myArray can be used
6条答案
按热度按时间kpbwa7wx1#
上面的方法不返回数组本身,而是返回对数组的引用。在调用函数中,你可以在另一个引用中收集这个返回值,比如:
在此之后,
copy
也将引用z
之前引用的同一个数组。如果这不是你想要的,你想创建一个数组的副本,你可以使用
System.arraycopy
创建一个副本。0yg35tkg2#
c90pui9n3#
int[] nums = nums();
是否要制作阵列的另一个物理副本?
然后使用
iyfjxgzm4#
尝试:-
kyks70gy5#
如果要复制数组,可以使用
copyOf()
。p4rjhz4m6#
你确定要抄吗?