Java 我得到了这个警告:非varargs调用varargs方法,最后一个参数的参数类型不精确;

Java 我得到了这个警告:非varargs调用varargs方法,最后一个参数的参数类型不精确;,java,hibernate,variadic-functions,Java,Hibernate,Variadic Functions,警告是: 对于非varargs调用,强制转换为java.lang.Object[],并抑制此警告 我在这一行得到警告: l=(List)getHibernateTemplate().find(query,arr); 以下是完整的代码: public Boolean checkLogin(Utilisateur utilisateur) throws Exception { Boolean f=false; try{ List l=null;

警告是:

对于非varargs调用,强制转换为java.lang.Object[],并抑制此警告

我在这一行得到警告:

  l=(List)getHibernateTemplate().find(query,arr);
以下是完整的代码:

public Boolean checkLogin(Utilisateur utilisateur) throws Exception
{
    Boolean f=false;
    try{
        List l=null;
        String query ="*from utlisateur where login=log and password=log";
        String [] arr=new String[2];
        arr[0]= utilisateur.getLogin();
        arr[1]= utilisateur.getPassword();
        l=(List)getHibernateTemplate().find(query,arr);
        if(l!=null){
            if(l.size()==1){
            f=true;
            }
        }
    }
    catch(Exception e){
        throw new Exception("Error from DAO " + e.getMessage());
    }
    return f;
}
如何避免此警告?

如果使用Spring,则该方法支持vararg参数。您应该这样更改通话:

 l = (List) getHibernateTemplate().find(
     query, utilisateur.getLogin(), utilisateur.getPassword());
参考资料:

  • Java教程:
  • Java语言指南:
我认为应该是:
(List)getHibernateTemplate().find(query,use.getLogin(),use.getPassword())