![](/img/trans.png)
[英]How do I format a method for a SQL query that retrieves 0 rows? (Java)
[英]java method retrieves
我需要将集合发送到此方法:
public boolean[] save(T... entities) {
return _saveOrUpdateIsNew(entities);
}
我试图通过收藏:
List<Client> clientsToUpdate = new ArrayList<Client>();
save(clientsToUpdate );
但是我收到编译错误,指出方法类型不适用于List<Client>
编辑:
添加行之后:
clientsToUpdate.toArray(new Client[0]);
我有这个编译错误:
The method save(Client...) in the type BaseDAO<Client,Integer> is not applicable for the arguments (Client[])
您提到的方法使用的是varargs,这意味着它接受单个Client
实例或Client
对象的数组。 您应该像这样将List
转换为数组:
List<Client> clientsToUpdate = new ArrayList<Client>();
Client[] clients = clientsToUpdate.toArray(new Client[0]);
save(clients);
除非您的项目中有多个Client
类,否则这应该起作用。
T ..不是集合,而是一个数组。 因此,您必须对其进行转换。 也许是这样的:
for(Object o: T)
myCollection.add(o);
编辑:
哦,对不起,我想您希望使用其他方式。 如果要将Collection传递给方法,请将其转换为数组:
Object[] array = myCollection.toArray();
您不能将任何Collection传递给vararg方法(除非方法签名是(Collection ...),但这几乎肯定不是您想要的)。 尝试使用数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.