为什么会出现cannot be cast to java.lang.String
很明显是类型转换错误。即Integer 类型不能转成String类型。
解决方案:
1.直接使用tosting的方式
String str = entry.value().toString();
2.使用String类的静态方法valueOf()
String str = String.valueOf(entry.value());3. String orderNo = ((String[])request.getAttribute("orderNo"))[0];
4. 将错误中的(String)强制转换类型修改为 object.toString()
扩展资料:
如果使用Kafka的javaApi向kafka发送消息时提示类似的错误:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to
则我们在发送消息时,需要根据自己发送的消息类型来指定序列化类。比如我们发送字符串消息,在构造生产者时增加以下配置:
Properties props = new Properties();props.put("serializer.class", "kafka.serializer.StringEncoder");
这样就可以发送字符串消息了
参考资料:百度百科——Java