如何在Java中返回一个临时的int数组[重复]

Posted

技术标签:

【中文标题】如何在Java中返回一个临时的int数组[重复]【英文标题】:How to return a temporary int array in Java [duplicate] 【发布时间】:2016-06-12 17:01:57 【问题描述】:

如何在 Java 中返回一个临时数组(为了节省代码行,而不创建变量)。

做启蒙的时候,我可以用

int[] ret = 0,1;

return时,我不能使用

return 0,1;

我错过了什么还是有强制类型转换来做到这一点?

我想到了使用new int[] 作为下面的答案。那么,我们在启动时不需要new int[]的原因是什么?

【问题讨论】:

详情请见Java Language Spec。 您无需将答案写入您的问题。只需接受解决您问题的答案即可。 tutorialcup.com/java/how-to-return-an-array-in-java.htm 【参考方案1】:

我想到了使用 new int[] 作为下面的答案。那么,我们在初始化时不需要 new int[] 的原因是什么?

当你写int[] ret = 0,1;时,它本质上是写int[] ret = new int[]0,1;的捷径。来自doc:

或者,您可以使用快捷语法来创建和初始化数组:

int[] anArray =  
    100, 200, 300,
    400, 500, 600, 
    700, 800, 900, 1000
;

现在,当您返回时,您必须显式写入return new int[]0,1;,因为您没有对数组进行赋值操作(根据文档创建和初始化),因此您不能使用快捷方式。您必须使用new 创建一个对象。

【讨论】:

感谢您的详细解答!【参考方案2】:

你可以做一些被称为返回一个匿名数组的事情(因为它没有名字)。

return new int[] 0, 1;

为此...

【讨论】:

【参考方案3】:
   public int [] return check()
       return new int[] 5,8,3,6,4;
     

【讨论】:

【参考方案4】:

你也可以这样做,

return new int[]1,2,3;

【讨论】:

以上是关于如何在Java中返回一个临时的int数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中,如何去掉LIST里的重复元素

如何在java中将字符串数组转换为int数组[重复]

Java中一维数组的逆序[重复]

Java中如何判断数组元素是不是为空

如何在Java中使用toString方法将int数组转换为String [重复]

java lambda 数组如何去重复