我可以像这样设置一个数组:
Object[] objects = {new Object()};
但是,如果我有一个方法:
public void setObject(Object[] objects) {
}
我做不到以下事情:
setObject({new Object()});
为什么是这样?为什么{new Object()}不足以作为参数但足以初始化Object[]数组?
您可以传递一个匿名数组:
setObject(new Object[] { new Object() });
请注意,语法{ new Object() }在其声明初始化数组时起作用.例如:
Object[] arr = { new Object() };
声明数组后,这不起作用:
Object[] arr;
//uncomment below line and you'll get a compiler error
//arr = { new Object() };
arr = new Object[] { new Object() };