Object.os 可变参数时,传数组有关问题
Object...os 可变参数时,传数组问题
void fnc( Object...os) {
print( os.length )
}
fnc( new Object[]{1,2} ),像这样传时,打出2,而不是2维数组,
有什么方法让它当有1个元素传进来
------解决思路----------------------
只传一个new Object[]{1,2} 时,系统会把new Object[]{1,2}解析为os的数据,这样os的长度就是你的Object 数组的长度了
如果给传多个数组,或参数时,那么new Object[]{1,2} 就不再是 os ,而是os[0]了
或者 让一个object 变量指向数组,传变量进去,长度就精准了
Object obj = new Object[]{1,2}; fnc(obj);
void fnc( Object...os) {
print( os.length )
}
fnc( new Object[]{1,2} ),像这样传时,打出2,而不是2维数组,
有什么方法让它当有1个元素传进来
------解决思路----------------------
只传一个new Object[]{1,2} 时,系统会把new Object[]{1,2}解析为os的数据,这样os的长度就是你的Object 数组的长度了
如果给传多个数组,或参数时,那么new Object[]{1,2} 就不再是 os ,而是os[0]了
或者 让一个object 变量指向数组,传变量进去,长度就精准了
Object obj = new Object[]{1,2}; fnc(obj);