从Utf8转换字符串

时间:2015-07-28 05:30:47

标签: java string utf-8

   record.get("key")

此处recordorg.apache.avro.GenericReord。在我的情况下,它返回utf8。我需要String。所以我找到的可能性

   record.get("key").toString() - I prefer cast than this method
   record.get("key")+""         - It calls string concatenation method 

以上两件作品。

   (String)record.get("key") - Obviously it throws a classcastexception.
   new String(record.get("key")) - new String(Object) is undefined.

上述两项措施无效。

我怀疑在我的方案中哪个方面的效果toString()+更好。

2 个答案:

答案 0 :(得分:0)

你有另一个选项 String.valueOf(record.get(" key"))不要使用record.get(" key")。toString ()直接因为获得NullPointerException可能会有变化。

Approch差异

jsonObj.isNull("MarketCapitalization"){ //do something } 使用StringBuilder创建结果字符串,而

record.get("key")+""只调用String的静态方法来获取对象的String版本

答案 1 :(得分:0)

toString()效果更好。

当您使用+运算符时,它将比较两个对象的类型以执行操作。恩。如果它是一个数字的类型,它将添加两个,但如果它具有不同的类型,它将简单地调用一个对象的toString()并连接字符串。

使用toString()获取NullPointerException的可能性很高。 您可能想要使用String.valueOf(record.get("key"))