java - 简化 Java 中的数组声明

标签 java arrays

考虑以下数组声明,

int[] num2 = {1, 2, 3, 4, 5};
int[] num3 = new int[]{1, 2, 3, 4, 5};

System.out.println(Arrays.toString(num2));
System.out.println(Arrays.toString(num3));

So for the num3 if I passed directly the right hand side declaration to a functions its valid.

i.e. Arrays.toString(new int[]{1,2,3}) But Why can't the num2 approach

如果我调用 someFunction({1,2,3,4,4}) 它会抛出一个错误

illegal start of an expression.

如果两个声明都有效,那么为什么我不能在方法的参数中使用它?

当将一些临时数组传递给函数(例如)时,我试图简化该方法

somefunction(new int[]{1,2,3,4})

是否可以在java中简化这个?有什么 java 8 技巧吗?

最佳答案

您必须创建一个实例才能将其传递给方法,例如:

someFunction(new int[]{});

它不适用于您的情况,因为您仅传递类型 int[] 而这是不正确的。

Is it possible simplify this in java ? any java 8 tricks ?

I want to use it as somefunc({1,2,3,4})

然后你可以使用可变参数,如下所示:

ReturnType someFunction(int... a){}

然后你像这样调用这个方法:

someFunction(1, 2, 3, 4); // valid 
someFunction(new int[]{1, 2, 3, 4}); // valid
someFunction(num2); // valid

关于java - 简化 Java 中的数组声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60680605/

相关文章:

c - 单独声明和初始化的变量如何在内存中工作?

Java 计数器即将耗尽

objective-c - 使用 SearchBar 时出现 NSUnknownKeyException。此类不符合键名的键值编码

java - 如何在 Android 中使用 Genderize io Api 获取用户性别

java - 代码在第一次执行查询后退出 try 并进入 catch ?

java - Java 开发人员在不编写 Javascript 的情况下生成 Javascript 的最佳方法是什么

javascript - 查询 : Iterate array of objects and append the value of object attribute to <ul>

java - Gradle 能否以任何方式帮助解决 jar hell?

java - Play 2.3.x 中的身份验证

ruby - Ruby 中的数组或哈希