Java Apache Commons十六进制编码错误

Java Apache Commons十六进制编码错误,java,hex,apache-commons-codec,Java,Hex,Apache Commons Codec,我正在尝试使用对字符串值进行编码和解码: e、 g: 但是,这并不是给我一个十六进制输出,而是类似于以下内容的输出: [C@596d444a 知道为什么会发生这种情况吗?是-调用encodeHex()返回一个字符数组(char[]),您只需调用toString。请改用字符串(char[])构造函数: new String(Hex.encodeHex("10".getBytes())) (顺便说一句,我强烈建议您不要使用无参数的String.getBytes()方法,该方法使用平台默认编码。这是

我正在尝试使用对字符串值进行编码和解码:

e、 g:

但是,这并不是给我一个十六进制输出,而是类似于以下内容的输出:

[C@596d444a


知道为什么会发生这种情况吗?

是-调用
encodeHex()
返回一个字符数组(
char[]
),您只需调用
toString
。请改用字符串(char[])构造函数:

new String(Hex.encodeHex("10".getBytes()))

(顺便说一句,我强烈建议您不要使用无参数的
String.getBytes()
方法,该方法使用平台默认编码。这是一个经常产生细微错误的方法。)

根据您给出的链接:
公共静态字符[]编码十六进制(字节[]数据)
返回
@return a char[]包含十六进制字符
。因此输出正确。使用字符数组创建字符串

new String(Hex.encodeHex("10".getBytes()))