可变参数的那些坑

  • Post author:
  • Post category:其他


java方法可以这样声明:public void test(Object… args)

调用时可以这样:test(“A”),也可以test(“A”,”B”)

但对于数组作为参数传入时,就有些说法了:

1、想把数组作为一个参数传入,需要这样:

String[] args= new String[]{“A”,”B”} ;

test((Object)args),

2、想把数组作为可变参数传入,需要这样:

String[] args= new String[]{“A”,”B”} ;

test((Object[])args),

因为java有时会把args当作数组、有时又会当成一个object,所以最好每次调用时,自己强制转一下



版权声明:本文为u010402202原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。