有人能给我指正确的方向吗?
我正在接收一个数据报数据包,并将其存储到字符串中。当我将该字符串与另一个字符串进行比较时,结果将为false。
这是代码:
private static String KEY = "Iamastring";
String sentence = new String( receivePacket.getData(), "UTF-8"); //Reconstruct the string
sentence.trim();
System.out.println("RECEIVED: " + sentence + " test " + KEY + " test ");
System.out.println("Length: " + sentence.length() + " " + KEY.equals(sentence));
这是我的输出:
RECEIVED: Iamastring
Length: 1024 false
KEY.equals(句子)的预期比较是正确的。
字符串不可变:p
因此,您必须将sentence.trim()
分配给一个变量,然后使用该变量进行比较和sysouts
sentence=sentence.trim();
如果您希望trim()能帮助您,您必须执行
句子=句子.trim();
因为trim()本身不会修改原始字符串。