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

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

做启蒙的时候,我可以用

int[] ret = {0,1};

return时,我不能使用

return {0,1};

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

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

【问题讨论】:

标签: java arrays return


【解决方案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};
      

      【讨论】:

        猜你喜欢
        • 2021-11-01
        • 2020-11-02
        • 1970-01-01
        • 2021-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-15
        • 1970-01-01
        相关资源
        最近更新 更多