[英]How to cast a multidimensional array without knowing the dimension in Java
[英]How to get the length of any dimension of multidimensional array in Java?
JDK或流行的库中是否有任何现成的实现?
我写了以下函数:
public static int length(Object array, int level) {
if( level < 0 ) {
throw new IllegalArgumentException();
}
else if( level == 0 ) {
if( !array.getClass().isArray() ) {
throw new IndexOutOfBoundsException();
}
else {
return Array.getLength(array);
}
}
else {
if( !array.getClass().isArray() ) {
throw new IndexOutOfBoundsException();
}
else {
int length = Array.getLength(array);
int nextlength, maxnextlength = 0;
Object element;
for(int i=0; i<length; ++i) {
element = Array.get(array, i);
if( element != null ) {
nextlength = Array.getLength(element);
if( nextlength > maxnextlength ) {
maxnextlength = nextlength;
}
}
}
return maxnextlength;
}
}
}
是正确和最佳的吗?
看看java.util.Arrays
和java.lang.reflect.Array
。 它们具有可以为您提供帮助的功能。 至少您的方法可能会缩短。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.