[B cannot be cast to java.lang.String

Posted mthoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[B cannot be cast to java.lang.String相关的知识,希望对你有一定的参考价值。

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    $Proxy22.getAllNoticeList(Unknown Source)

昨天一下午找的bug。这个错误代码,百度谷歌了一下。大概都能知道是什么原因导致的错误。可是有些错误是非常细了。就比方这个。因此记录下来,希望以后不要再犯。
先贴上之前百度的。技术分享
这个错误通常是类型不匹配。详细的什么类型,要看你的是什么数据了,从数据库中查询的数据是乱码。可是数据库里显示的是正常的utf-8,原因在于用到了嵌套查询,嵌套查询中使用了中文字符串拼接。然后就斯巴达了,事实上这个错误非常easy避免的,由于測试的时候用的本地数据库才出现的,用server的数据库嵌套查询不会出现乱码。应该是mysql的设置问题。可是能够通过sql语句中增加编码来解决,就是这样。



以上是关于[B cannot be cast to java.lang.String的主要内容,如果未能解决你的问题,请参考以下文章

为啥会出现cannot be cast to java.lang.String

TreeMap cannot be cast to java.lang.Comparable

com.alibaba.fastjson.JSONArray cannot be cast to java.lang.String

[记录]java.math.biginteger cannot be cast to java.lang.long

cannot be cast to java.util.Map

cannot be cast to java.util.Map