Joh*_*n P 10 java arrays notation
如果您正在定义变量,则声明/定义变量似乎完全有效,如下所示:
double[][] output = {{0,0},{1,0}};
Run Code Online (Sandbox Code Playgroud)
但是,如果您返回一个值,则编写以下内容似乎无效:
public double[] foo(){
return {0,1,2}
}
Run Code Online (Sandbox Code Playgroud)
我本以为在内部,这两个都会执行相同的操作.Eclipse至少不同意.有谁知道差异是什么,在哪里可以看到,或者为什么接受前一个例子并拒绝后者是有益的?
编辑:好的,所以它适合你初始化时,但我没有看到任何歧义...... JVM不能解释变量名称中的变量类型(在重新定义已经初始化的变量的情况下)或者在返回时(JVM只能查看函数的返回类型)?什么使初始化成为禁止隐式类型的规则的特例?是什么使一般规则需要显式类型?
Roh*_*ain 15
您只能在声明点使用大括号表示法,其中编译器可以从声明类型推断出数组的类型.
要在其他任何地方使用它,您需要使用Array Creation Expression:
return new double[] {0,1,2};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11685 次 |
最近记录: |