如何在返回数据的同一行初始化一个新的 int 数组? [复制]
Posted
技术标签:
【中文标题】如何在返回数据的同一行初始化一个新的 int 数组? [复制]【英文标题】:How do you initialize a new int array on the same line you return data? [duplicate] 【发布时间】:2022-01-22 21:43:24 【问题描述】:我知道如果你想返回存储在变量中的东西,就像返回所说的变量一样简单:
int jellyfish = 7;
return jellyfish;
如果你只是想返回与水母没有任何关系的数字 7,你可以写:
return 7;
但是这对数组怎么可能呢?到目前为止,我声明了要返回其值的数组,然后直接在下一行中返回该数组,但感觉就像在代码返回行上方设置变量“jellyfish”一样笨拙只打算返回 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;
我确定存在类似的东西,但到目前为止我测试过的任何东西都不会让我返回数组信息,而无需在 return 语句之前将其放入新的数组变量中。有没有一种我不知道的方法可以做到这一点,或者这是 Java 中的一个固有问题,我无能为力?
【问题讨论】:
【参考方案1】:你可以这样试试。
public int[] make2(int[] a, int[] b)
if (a.length >= 2)
return new int[]a[0], a[1]; // <--- changed line
return b;
【讨论】:
这正是我想要的。谢谢!【参考方案2】:让我们一步一步来。您知道如何创建一个新的整数数组,因为您在此处的 sn-p 中完成了它
int[] result = new int[2];
那么你必须知道,有一个东西叫做Array Initializer,它可以让你在创建时初始化数组值。例如:
int[] result = new int[] 1, 2, 3 ;
因此,您的问题的解决方案(结合这些知识)如下:
return new int[] a[0], a[1] ;
创建并返回一个大小为 2 的新整数数组,其中包含 a[0]
和 a[1]
的值。
【讨论】:
感谢您说得这么好,它对您有很大帮助!以上是关于如何在返回数据的同一行初始化一个新的 int 数组? [复制]的主要内容,如果未能解决你的问题,请参考以下文章