参考 http://blog.csdn.net/vonzhoufz/article/details/38229539 在C和C++中不能返回一个局部变量,因为函数中的局部变量分配的存储空间在栈上,当函数执行完后会被重新利用,所以想要返回数组类型,有两种方式: 1)静态变量(static in a function可以在函数调用之间保持值有效) 2)利用malloc动态分配,但是最终要记得释放。 但是,在Java中可以直接返回数组
public class TestArray {
public static int []
func() {
int [] arr = {
1,
3,
5,
6 };
return arr;
}
public static void main(String[] args) {
for (
int i : func()) {
System.
out .println(i);
}
}
}
原因:Java中数组是引用类型,它存储在堆中。由此也可推出Java可以直接返回任何引用类型。
转载请注明原文地址: https://ju.6miu.com/read-1173956.html