我知道,如果你想返回存储在变量中的东西,只需返回所述变量即可:
int jellyfish = 7;
return jellyfish;
如果你只想返回与水母没有任何关系的数字7,你可以写:
return 7;
但是,对于数组来说,这怎么可能呢?到目前为止,我声明了要返回其值的数组,然后直接在下一行中返回该数组,但这感觉就像使变量"一样笨拙;水母";当代码只打算返回7时,位于返回行上方。就像我会编码:
public int[] make2(int[] a, int[] b) {
int[] result = new int[2];
if (a.length >= 2) {
result[0] = a[0];
result[1] = a[0];
return result;
}
return b;
}
尽管感觉写这样的东西会简单得多:
public int[] make2(int[] a, int[] b) {
int[] result = new int[2];
if (a.length >= 2) {
return {a[0], a[1]}; // <--- changed line
}
return b;
}
我确信存在类似的东西,但到目前为止,我测试过的任何东西都不会让我返回数组信息,而不在返回语句之前将其放入新的数组变量中。有没有一种我不知道的方法可以做到这一点,或者这是Java中一个我无能为力的固有问题?
您可以这样尝试。
public int[] make2(int[] a, int[] b) {
if (a.length >= 2) {
return new int[]{a[0], a[1]}; // <--- changed line
}
return b;
}
让我们循序渐进。你知道你是如何创建一个新的整数数组的,因为你是在这里的代码段中创建的
int[] result = new int[2];
然后你必须知道,有一种叫做数组初始化器的东西,它可以让你在创建时初始化数组值。例如:
int[] result = new int[]{ 1, 2, 3 };
因此,你的问题的解决方案是(结合这些知识(如下:
return new int[]{ a[0], a[1] };
其创建并返回包含a[0]
和a[1]
的值的新的大小为2的整数数组。