将单个对象转换为数组的函数?

Div*_*ero 4 java

我想编写一个函数,它将获取一个对象并将其转换为包含该对象作为单个元素的数组.在我看来,我可以使用泛型和变量参数来自动执行此操作,而无需为我希望使用的每个对象类型编写函数.这段代码会起作用吗?我需要注意哪些细微之处?

public static <X> X[] convert_to_array(X... in_objs){
    return in_objs;
}
Run Code Online (Sandbox Code Playgroud)

yaw*_*ark 11

为什么不简单:

Object o = new Object();
Object[] array = { o }; // no method call required!
Run Code Online (Sandbox Code Playgroud)

你到底想要完成什么?


Out*_*mer 7

它有效,但看起来像:

 Object o = new Object();
 someMethod(new Object[] { o } );
Run Code Online (Sandbox Code Playgroud)

则更加简单:

Object o = new Object();
someMethod(convert_to_array(o));
Run Code Online (Sandbox Code Playgroud)

如果有时候我想传递一个对象,而其他时候我想传递一个数组,通常我只是在API中使用重载的方法:

public void doSomething(Object o)
{
    doSomething(new Object[] { o } );
}

public void doSomething(Object[] array)
{
    // stuff goes here.
}
Run Code Online (Sandbox Code Playgroud)

可以使用Varargs,但前提是数组必须是最后一个参数。