将从字节数组重构的字符串与另一个字符串进行比较



有人能给我指正确的方向吗?

我正在接收一个数据报数据包,并将其存储到字符串中。当我将该字符串与另一个字符串进行比较时,结果将为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()本身不会修改原始字符串。

相关内容

最新更新