有人可以指出我正确的方向吗?
我正在收到一个数据报包,我将其存储到字符串中。 当我将该字符串与另一个字符串进行比较时,它将导致错误。
以下是代码:
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(句子)的预期比较为真。
答案 0 :(得分:2)
字符串不可变:p
因此,您必须将sentence.trim()
分配给变量,然后使用该变量进行比较和sysouts
sentence=sentence.trim();
答案 1 :(得分:1)
如果您希望trim()帮助您,您必须
sentence = sentence.trim();
因为trim()本身不会修改原始字符串。