Encoding 编码然后解码不提供相同的输出

Encoding 编码然后解码不提供相同的输出,encoding,decoding,Encoding,Decoding,在本节目中: 使用java.util.Base64库 字节[]字节=测试字符串.getBytes; 字符串s=Base64.getEncoder.encodeToString字节; 字节[]b2=Base64.getDecoder.decodes; ifb2.equalsbytes System.out.printlnTrue; else System.out.printlnflse 输出为:False尝试使用Arrays.equals.yup有效,谢谢。但是为什么同时打印字节和b2会产生不同的

在本节目中: 使用java.util.Base64库

字节[]字节=测试字符串.getBytes; 字符串s=Base64.getEncoder.encodeToString字节; 字节[]b2=Base64.getDecoder.decodes; ifb2.equalsbytes System.out.printlnTrue; else System.out.printlnflse


输出为:False

尝试使用Arrays.equals.yup有效,谢谢。但是为什么同时打印字节和b2会产生不同的输出呢。字节:[B@4cdf35a9b2:[B@4c98385cForarrays,Java JVM不会重写hashCode,equals,toString方法。这就是equals实际上只是==的原因,而这两个数组的toString是不同的。在处理数组时,应该使用Java.util.arrays方法来执行这类任务。