主题:关于String的奇怪问题
直接看程序:
byte tmp[] = new byte[5];
new Random().nextBytes(tmp);
String request = new String(tmp);
String response = (String)A.process(request); // process() 返回的确实是 String 的实例
System.out.println(request.equals(response)); // 输出是 false
但是 request.getBytes() 和 response.getBytes() 分别得到的byte数组却是完全一样的
既然byte数组是一样的,为什么两个String不等??[em18][em18]
byte tmp[] = new byte[5];
new Random().nextBytes(tmp);
String request = new String(tmp);
String response = (String)A.process(request); // process() 返回的确实是 String 的实例
System.out.println(request.equals(response)); // 输出是 false
但是 request.getBytes() 和 response.getBytes() 分别得到的byte数组却是完全一样的
既然byte数组是一样的,为什么两个String不等??[em18][em18]