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;
}
}
}
是正确和最佳的吗?
答案 0 :(得分:0)
查看java.util.Arrays
和java.lang.reflect.Array
。它们具有可以帮助您的功能。至少你的方法可能会缩短。
答案 1 :(得分:0)