我宣布这个课程没有用.
public class ArrayTrick {
public static char[] arr(char... arr) {
return arr;
}
public static float[] arr(float... arr) {
return arr;
}
public static double[] arr(double... arr) {
return arr;
}
public static long[] arr(long... arr) {
return arr;
}
public static int[] arr(int... arr) {
return arr;
}
public static short[] arr(short... arr) {
return arr;
}
public static byte[] arr(byte... arr) {
return arr;
}
public static boolean[] arr(boolean... arr) {
return arr;
}
public static <T> T[] arr(T... arr) {
return arr;
}
}
Run Code Online (Sandbox Code Playgroud)
这允许我(我的代码中有一个静态导入)声明这样的数组:
int[][] arr = arr(
arr(1, 2, 1),
arr(2, 1, 3),
arr(3, 3, 3));
Run Code Online (Sandbox Code Playgroud)
我个人觉得它很有用,我工作的人很少了解它.
它来自于在使用python之后我对java数组声明感到沮丧的事实,并且我有时使用键盘很难找到大括号(我的旧笔记本电脑上的意大利标准).
我想知道的是:那样的工作有什么不好吗?你认为它足够可读吗?为什么这个把戏不出名?
roc*_*boy 45
与...没什么不同
int[][] arr = {{1, 2, 1},
{2, 1, 3},
{3, 3, 3}};
Run Code Online (Sandbox Code Playgroud)
另外,我不认为你可以逃避java中的花括号:)
Und*_*ned 19
它足够可读,但它并不常见或经常使用,因为使用以下方法在同一行上声明和初始化要容易得多:
int[][] arr = {
{1,2,1},
{2,1,3},
{3,3,3}};
Run Code Online (Sandbox Code Playgroud)
这个技巧并不出名,因为你真的不需要使用花括号表示法.避免那些大括号真的有帮助吗?在与C相关的语言中,我认为没有避免它们.
数组初始化:
int[][] arr = {
{1, 2, 1},
{2, 1, 3},
{3, 3, 3}
};
Run Code Online (Sandbox Code Playgroud)
你的版本足够可读,但由于我知道语言支持这个,我想知道该函数是否会做更多的事情.
有必要吗?那:
String[][] arr = {{"2","3","4"},
{"3","4","5"},
{"4","5","6"}};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1645 次 |
| 最近记录: |