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

时间:2015-03-19 21:31:37

标签: java string bytearray

有人可以指出我正确的方向吗?

我正在收到一个数据报包,我将其存储到字符串中。 当我将该字符串与另一个字符串进行比较时,它将导致错误。

以下是代码:

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

2 个答案:

答案 0 :(得分:2)

字符串不可变:p

因此,您必须将sentence.trim()分配给变量,然后使用该变量进行比较和sysouts

sentence=sentence.trim();

答案 1 :(得分:1)

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

sentence = sentence.trim();

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