Joh*_*itb 118 java arrays syntax
我今天查看了一些Java代码,我发现了一些奇怪的语法:
public class Sample {
public int get()[] {
return new int[]{1, 2, 3};
}
}
Run Code Online (Sandbox Code Playgroud)
我认为无法编译并想修复我认为的错字,但后来我记得Java编译器确实接受了它!
有人可以帮我理解这是什么意思吗?它是一组函数吗?
Cos*_*lis 20
这是一个有趣的问题.在java中你可以说int[] a;
,以及int a[];
.
从这个角度来看,为了得到相同的结果,只需要移动[]
和写入public int[] get() {
.
仍然看起来代码来自混淆器......
APr*_*mer 10
由于存在C标记,我将指出C和C++中可能存在类似(但不完全相同)的表示法:
这里函数f
返回一个指向10个int数组的指针.
int tab[10];
int (*f())[10]
{
return &tab;
}
Run Code Online (Sandbox Code Playgroud)
Java根本不需要星号和括号.
java 的语法允许以下内容:
int[] intArr = new int[0];
Run Code Online (Sandbox Code Playgroud)
并且
int intArr[] = new int[0];
Run Code Online (Sandbox Code Playgroud)
来自 c 风格的语法看起来更熟悉。
同样,对于函数,名称可以出现在 [] 之前或之后,并且类型仍然是 int[]
归档时间: |
|
查看次数: |
6828 次 |
最近记录: |