我想编写一个函数,它将获取一个对象并将其转换为包含该对象作为单个元素的数组.在我看来,我可以使用泛型和变量参数来自动执行此操作,而无需为我希望使用的每个对象类型编写函数.这段代码会起作用吗?我需要注意哪些细微之处?
public static X[] convert_to_array(X... in_objs){
return in_objs;
}
解决方法:
它工作但看起来像:
Object o = new Object();
someMethod(new Object[] { o } );
然后更简单一点:
Object o = new Object();
someMethod(convert_to_array(o));
在有时我想传递单个对象的情况下,但有时我想传递一个数组,通常我只是在API中使用重载方法:
public void doSomething(Object o)
{
doSomething(new Object[] { o } );
}
public void doSomething(Object[] array)
{
// stuff goes here.
}
可以使用Varargs,但前提是阵列是最后一个参数.
标签:java
来源: https://codeday.me/bug/20190713/1452781.html