Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java泛型类型类时发生编译时错误_Java_Generics - Fatal编程技术网

使用Java泛型类型类时发生编译时错误

使用Java泛型类型类时发生编译时错误,java,generics,Java,Generics,无法返回到所需的泛型类型格式 我正在使用泛型类型类 public class GResponse<T> { public String msg; public String status; public T res; } 公共类响应{ 公共字符串msg; 公共字符串状态; 公共物品; } 在下面的课程中,我需要返回GResponse public GResponse<User_details> Uname(String username) {

无法返回到所需的泛型类型格式

我正在使用泛型类型类

public class GResponse<T> {
   public String msg;
   public String status;
   public T res;
}
公共类响应{
公共字符串msg;
公共字符串状态;
公共物品;
}
在下面的课程中,我需要返回GResponse

public GResponse<User_details> Uname(String username) {

    Session session = sessionFactory.openSession();

    Criteria criteria = session.createCriteria(User_details.class);
    criteria.add(Restrictions.eq("user_id", username));
    criteria.add(Restrictions.eq("auth_stat", "A"));
    List<User_details> list2 = criteria.list();
    if (list2.size() == 1) {

    }
    return User_details(list2);
   // return loginDao.findByUsername(username);
}
public greesponse Uname(字符串用户名){
Session Session=sessionFactory.openSession();
Criteria=session.createCriteria(User\u details.class);
添加(Restrictions.eq(“user_id”,username));
标准。添加(限制。等式(“认证统计”、“A”);
List list2=条件。List();
如果(list2.size()==1){
}
返回用户详细信息(列表2);
//返回loginDao.findByUsername(用户名);
}

但是在上面的返回语句中,它给出了编译时错误。

您的返回方法会导致程序在特定类中查找
用户详细信息(列表列表2)
方法。也许你想做
返回新用户的详细信息(列表2)
但从外观上看,您希望容纳一个详细信息列表,然后将其存储在
gressponse
实例中

无论哪种方式,更好的方法都是:

public class GResponse<T> {
  public String msg;
  public String status;
  public T res;

  public void add(T res) {
      this.res = res;
  }
}
.
.
.

GResponse<List<User_details>> completeDetails = new Gresponse<List<User_details>>();
completeDetails.add(list2);

return completeDetails;
公共类响应{
公共字符串msg;
公共字符串状态;
公共物品;
公共无效添加(T res){
this.res=res;
}
}
.
.
.
GResponse completeDetails=新GResponse();
完成细节。添加(列表2);
返回完整的细节;

另外,请在以后的帖子中包含您的错误信息。

如果是这样,请随意更新此答案,以便人们可以看到它