Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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 将LinkedHashMap转换为泛型类时发生ClassCastException_Java_Spring Boot_Generics_Spring Kafka_Linkedhashmap - Fatal编程技术网

Java 将LinkedHashMap转换为泛型类时发生ClassCastException

Java 将LinkedHashMap转换为泛型类时发生ClassCastException,java,spring-boot,generics,spring-kafka,linkedhashmap,Java,Spring Boot,Generics,Spring Kafka,Linkedhashmap,考虑以下类别: public class MsgReceiver<MSG> extends AbstractMsgReceiver<MSG> implements MsgReceiver<MSG> { @KafkaListener( // necessary properties ) public void receiveMessage(@Headers Map<String, Object> headers, @Payload Consume

考虑以下类别:

public class MsgReceiver<MSG> extends AbstractMsgReceiver<MSG> implements 
MsgReceiver<MSG> {

@KafkaListener( // necessary properties )
public void receiveMessage(@Headers Map<String, Object> headers, @Payload ConsumerRecord<String, 
Object> payload) {

    super.receiveMessage(headers,(MSG) (payload.value())); // line foobar
}
公共类MsgReceiver扩展了AbstractMsgReceiver实现
MsgReceiver{
@KafkaListener(//必要属性)
public void receiveMessage(@Headers映射头,@Payload consumer记录有效负载){
super.receiveMessage(headers,(MSG)(payload.value());//行foobar
}

payload.value()
属于
LinkedHashMap
类型,当我使用这个类时,MSG可以是我的任何自定义POJO类。当我从
LinkedMashMap
转换到foobar行上的我的POJO类时,我会得到
ClassCastException
。我如何解决这个问题呢?

尝试使用jackson mapper,或者我想说的任何一个mapper。我已经使用jackson mapper很多年了卡夫卡队列侦听器,工作完美
查找详细信息有效负载。值()返回迭代器对象。这可能是类型转换中的问题。请检查您的POJO类。

为什么您希望这样做?我不希望这样做,我尝试使用ObjectMapper,但即使这样也会引发错误。ObjectMapper与此有何关系?您有一个包含条目的列表。您无法将列表转换为某些POJO。列表的元素是什么特朗特?