以下代码更改字符串的每个字节并创建一个新字符串。
public static String convert(String s) {
byte[] bytes = s.getBytes();
byte[] convert = new byte[bytes.length];
for (int i = 0; i < bytes.length; i++) {
convert[i] = (byte) ~bytes[i];
}
return new String(convert);
}
问题:为什么 convert() 不是双射的?
convert(convert("Test String")).equals("Test String") === false