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);

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...