cob*_*nks 3 java arrays reflection
我必须维护一些不再与公司合作的其他人编写的代码.我看到几个引用java.lang.reflect.Array.getLength(anArray).它工作,但我从来没有看到反射用于获得数组长度.有谁知道之间的区别:
java.lang.reflect.Array.getLength(anArray)
和
anArray.length
它只是语法糖吗?
谢谢!
这是获取数组长度的技巧,无论是基元数组还是对象数组.这允许编写一个对两种数组类型都有效的方法.
考虑一种打印任何类型数组内容的方法:
void print(Object array) {
for (int i = 0; i < Array.getLength(array); i++) {
System.out.println(Array.get(array, i));
}
}
Run Code Online (Sandbox Code Playgroud)
这将适用于int []或Object []参数.
否则你应该只使用.length静态字段.
| 归档时间: |
|
| 查看次数: |
6385 次 |
| 最近记录: |