Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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.lang.ClassCastException:java.util.LinkedHashMap不能强制转换为com.ipl.model.User_Java_Spring_Spring Boot - Fatal编程技术网

java.lang.ClassCastException:java.util.LinkedHashMap不能强制转换为com.ipl.model.User

java.lang.ClassCastException:java.util.LinkedHashMap不能强制转换为com.ipl.model.User,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个休息电话 List<User> userList = (List<User>) iplUtil.getResult(user, mongoGetURL); System.out.println("userList === "+userList); 没有复杂时间错误。。 但这一行在运行时失败了 User u =userList.get(0); 在此行中获取异常作为 java.lang.ClassCastException: java.util.Link

我有一个休息电话

List<User> userList = (List<User>) iplUtil.getResult(user, mongoGetURL);

System.out.println("userList === "+userList);
没有复杂时间错误。。 但这一行在运行时失败了

User u =userList.get(0);
在此行中获取异常作为

    java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.ipl.model.User
模型为

package com.ipl.model;

import java.io.Serializable;
import java.util.Map;

@SuppressWarnings("serial")
public class User implements Serializable {
    private Map<String, String> _id;
    private String nickName;
    private String email;
    private String password;
    private int userId;


    public User(String nickName,String password) {
        this.nickName=nickName;
        this.password=password;
    }
    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public User() {
        // TODO Auto-generated constructor stub
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Map<String, String> get_id() {
        return _id;
    }

    public void set_id(Map<String, String> _id) {
        this._id = _id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User [_id=" + _id + ", nickName=" + nickName + ", email=" + email + ", password=" + password
                + ", userId=" + userId + "]";
    }

}
package com.ipl.model;
导入java.io.Serializable;
导入java.util.Map;
@抑制警告(“串行”)
公共类用户实现可序列化{
私人地图id;
私有字符串昵称;
私人字符串电子邮件;
私有字符串密码;
私有int用户id;
公共用户(字符串昵称、字符串密码){
this.昵称=昵称;
this.password=密码;
}
public int getUserId(){
返回用户标识;
}
public void setUserId(int userId){
this.userId=userId;
}
公共字符串getEmail(){
回复邮件;
}
公用电子邮件(字符串电子邮件){
this.email=电子邮件;
}
公共用户(){
//TODO自动生成的构造函数存根
}
公共字符串get昵称(){
返回昵称;
}
公共无效集合昵称(字符串昵称){
this.昵称=昵称;
}
公共地图获取_id(){
返回_id;
}
公共无效集合id(映射id){
这个。_id=_id;
}
公共字符串getPassword(){
返回密码;
}
public void setPassword(字符串密码){
this.password=密码;
}
@凌驾
公共字符串toString(){
返回“用户[_id=“+_id+”,昵称=“+昵称+”,电子邮件=“+电子邮件+”,密码=“+密码
+,userId=“+userId+”];
}
}

我没有收到任何complie time错误。为什么它在运行时会失败?如果你不能提交问题,因为除了源代码外,你的文本太少,这可能意味着你应该添加更多细节,记住这一点。我不知道
iplUtil.getResult
是什么,但您可能试图在不提供适当类型的情况下反序列化某些内容。如果
iplUtil.getResult
仅返回json对象,则无法将其强制转换为用户列表。你需要一个if,这就是为什么我没有得到编译错误…为什么它能够在没有任何编译时错误的情况下强制转换列表如果你删除强制转换,编译器会抱怨。将返回值强制转换为list就是向编译器保证您知道返回的对象将是list。但是在运行时,如果getResult方法返回的值不是用户列表,那么它将失败。查看以更好地理解强制转换。如果您无法提交问题,因为除了源代码之外,您的文本太少,这可能意味着您应该添加更多细节,请记住。我不知道
iplUtil.getResult
是什么,但您可能试图在不提供适当类型的情况下反序列化某些内容。如果
iplUtil.getResult
仅返回json对象,则无法将其强制转换为用户列表。你需要一个if,这就是为什么我没有得到编译错误…为什么它能够在没有任何编译时错误的情况下强制转换列表如果你删除强制转换,编译器会抱怨。将返回值强制转换为list就是向编译器保证您知道返回的对象将是list。但是在运行时,如果getResult方法返回的值不是用户列表,那么它将失败。检查以更好地了解铸件。
User u =userList.get(0);