我正在尝试将byte []转换为String。但是FindBugs在我的代码段中为我指出了一个小问题。
代码段:
//Encrypt the data withe public key.
Cipher cipher = Cipher.getInstance(TRASFORMATION);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedBytes = cipher.doFinal(data.getBytes(StandardCharsets.UTF_8));
encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));
发现错误的报告:
getEncryptedData(String)调用效率低的新String(String)构造函数
我在哪一行出现此错误?
encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));
有人可以告诉我这到底是什么吗?而我们该如何解决呢?
答案 0 :(得分:0)
替换
encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));
与
encryptedData = Base64.encodeToString(encryptedBytes, Base64.DEFAULT);
编码为字符串已经在返回字符串。