java – 如何使variatic方法将单个数组作为varargs数组的第一个值?

前端之家收集整理的这篇文章主要介绍了java – 如何使variatic方法将单个数组作为varargs数组的第一个值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于变量:
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);

猜你在找的Java相关文章