比较接收数据包和字符串UDP协议

时间:2015-10-13 20:06:59

标签: java string udp compare packet

是一种比较方式

String sentence = new String(receivePacket.getData());

带一些字符串?

我尝试与

进行比较
Arrays.equals(sentence.getBytes(),new String("Hello").getBytes();)

返回false ... 我试过了

if(sentence.equals("Hello"))

也不起作用。 我认为receivePacket有问题,但数据包中的数据是相同的 喜欢 '你好'vs'你好'

System.out.println(sentence.getBytes()+ " vs " + "Hello".getBytes());

输出 -

[B@4f0e921d vs [B@459ad677

1 个答案:

答案 0 :(得分:1)

new String(packet.getData());

问题出在这里。你忽略了长度。它应该是:

new String(packet.getData(), packet.getOffset(), packet.getLength());