[Base64有许多静态编码方法,将byte []返回为
Base64.encodeBase64(stringToEncode.getBytes(StandardCharsets.UTF_8.name()));
也MessageDigest使用静态getInstance
进行编码/消化
new Hex().encode(stringToEncode.getBytes(StandardCharsets.UTF_8.name()));
我是否需要创建实例以获得字节数组的原因,或者有更好的方法吗?
例如,我目前不认为添加getBytes()
是一个好主意
Hex.encodeHexString(stringToEncode).getBytes()
该类是线程安全的,并且实例的唯一原因似乎是Charset
参数。也没有void
方法,因此对象内部也没有状态。
没有明显的原因,为什么它不仅是静态实用程序方法,而且这就是它们采用的方法。我建议您在使用该类的类中创建一个实例,因此不要在任何地方都执行new Hex().foo()
。