使用消息中间件(消息队列)RocketMQ,消费者类在
consumeMessage方法里面
解析string格式数据时
下面两行代码效果有细微区别
1.
String s=new String(body,0, body.length,StandardCharsets.UTF_8);
2.
String s = new String(body,0, body.length, "utf-8");
第二种需要捕获异常
原因如下,查看源代码可以知道
代码一String
代码二String
这里异常的逻辑是,后者“”string字符串里的内容有可能输入错误,导致编解码失败,所以提前预判异常,前者使用常量,永远不会出错。