【发布时间】:2013-05-21 06:11:38
【问题描述】:
正如标题所说,getBytes[] 与 serialization mechanism 和 String 没有区别。下面是getBytes[] 和serialization mechanism 之间的测试:
public void testUTF() {
byte[] data = SerializeUtil.serUTFString(str);
System.out.println(data.length);
System.out.println(str.getBytes().length);
}
这里是SerializeUtil:
公共静态字节[] serUTFString(字符串数据) {
byte[] result = null;
ObjectOutputStream oos = null;
ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
try {
oos = new ObjectOutputStream(byteArray);
try {
oos.writeUTF(data);
oos.flush();
result = byteArray.toByteArray();
} finally {
oos.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
当我将str 设置为Redis 时,两者都可以正常工作,但getBytes[] 似乎更有效率。既然他们都从String返回一个byte array,那么有什么区别,serialization是必要的吗?
【问题讨论】:
-
您肯定发现字节数组的长度不同并且包含不同的数据?
标签: java string serialization redis