鉴于变量:
Object[] ab = new Object[] { "a","b" }; Object[] cd = new Object[] { "c","d" };
public static void m(Object... objects) { System.out.println(Arrays.asList(objects)); }
使用:
m(ab,cd);
我得到了预期的输出:
[[Ljava.lang.Object;@3e25a5,[Ljava.lang.Object;@19821f]
但使用时:
m(ab);
我明白了:
[a,b]
由于字符串< -ab而不是字符串[0]< -ab. 如何强制编译器将ab数组作为strings数组的第一个值,然后输出:
[Ljava.lang.Object;@3e25a5
?
解决方法
在经过时你可以得到你想要的东西 –
m((Object)ab);