比较从字节数组重建的字符串与另一个字符串

Compare a String reconstructed from a byte array with another String

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

我正在接收一个数据报包,我将其存储到一个字符串中。 当我将该字符串与另一个字符串进行比较时,结果为假。

代码如下:

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(句子)的预期比较为真。

如果您希望 trim() 帮助您,您必须做到

句子=sentence.trim();

因为trim()本身不修改原字符串

字符串不可变 :p

因此您必须将 sentence.trim() 分配给一个变量,然后使用该变量进行比较和系统输出

sentence=sentence.trim();