java.util.LinkedHashMap cannot be cast to

报错信息:

{

    "ErrorCode" : 2,

    "ErrorContent" : "java.util.LinkedHashMap cannot be cast to com.better517na.gwCommunicateJavaService.wordJiujiu.model.vo.PayVo",

    "ResponseTime" : 1455851510156

}

解决思路:

1、服务调用方 传参正确,调用方和服务提供方的对象model均未使用LinkedHashMap。
2、入参

public class RequestVo<T> {

    @NotNull

    private T body;

}

body是泛型。

3、调用方传入参数RequestVo,提供方只是直接PayVo payVo = requestVo.getBody()了,这里出现了异常。

解决方案:

    将传入的参数转为PayVo即可。添加如下两行代码:

 // 将泛型body转json再转PayVo对象。

 PayVo payvo = GSON.fromJson(GSON.toJson(requestVo.getBody()), PayVo.class);

 requestVo.setBody(payvo);

后面再PayVo payVo = requestVo.getBody()即正常了。

时间: 2024-12-03 07:30:50

java.util.LinkedHashMap cannot be cast to的相关文章

java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcesso

org.apache.jasper.JasperException: java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor         at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletW

绑定日志-maven jetty 环境下的Web项目在使用logback slf4j时,slf4j总是绑定java.util.logging

问题描述 maven jetty 环境下的Web项目在使用logback slf4j时,slf4j总是绑定java.util.logging Logger logger = (Logger) LoggerFactory.getLogger(UserAction.class); logger.info("loginUser:username{},password{}",username,password); java.lang.ClassCastException: org.slf4j.

[Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟的部分之一. 我们用相对直观的方式把工具类与特定集合接口的对应关系归纳如下: 集合接口 属于JDK还是Guava 对应的Guava工具类 Collection JDK Collections2:不要和jav

java.lang.Integer cannot be cast to

问题描述 public List<Materials> findAllMaterialsByAppid(Integer appid) {String hql1 = "select medid from Materials where appid = ? and pid = 0";List<Materials> list = this.hibernateTemplate.find(hql1, appid);if (list != null && l

[大数据量]BitMap即java.util.BitSet的应用

Bitmap算法, 问题:对40亿个数据进行排序,数据类型为 int,无相同数据. 思考:关于40亿个数据的排序,首先想如何存储呢?一个int 4个字节,也就是160亿个字节,也就是大概有16GB的数据,现在所有的计算机估计 没有这么大的内存吧,所以我们就可以文件归并排序,也可以分段读入数据在进行Qsort,但是都需要不停地读入文件,可以想象不停地读取文件硬件操作会有多么浪费时间.  我们这样都是用4个字节来存储了一个数据,在计算机里都是用二进制进行表示, 例如 5 :0000 0000 000

转:java.util中的Date类

java.util中的Date类 www.linuxaid.com.cn 01-09-20 23:03 496p 处处--------------------------------------------------------------------------------     在JSP中,我们经常要处理有关日期和时间的信息,这时候你可以使用java.util中的Date类,在编写Java源程序时,情况很明显,你必须通过"import java.util.*"引入java.ut

使用java.util.Calendar返回间隔天数

calendar 使用SimpleDateFormat,规定好格式,parser出错即为非法/** * Calculates the number of days between two calendar days in a manner * which is independent of the Calendar type used. * * @param d1    The first date. * @param d2    The second date. * * @return    

深探java.util.logging包

1.0 Java Logging Overview    1.1 Overview of Control Flow      1.2 Log Levels     1.3 Loggers     1.4 Logging Methods     1.5 Handlers     1.6 Formatters     1.7 The LogManager     1.8 Configuration File     1.9 Default Configuration     1.10 Dynamic

java.util包学习笔记一

笔记 学习java2SDK 1.4.0 java.util里边有几个重要的接口,列在这里作为学习的总结: 1 java.util.Enumeration有两个方法hasMoreElements(),nextElement().使用方法如下://打印向量v的所有元素for(Enumeratin e = v.elements(); e.hasMoreElements();){ System.out.println(e.nextElement().toString());}这里注意要调用nextEle