Tôi có một máy chủ/máy khách UDP gửi và nhận thông tin. Client
sẽ gửi ví dụ "TEST"
tới máy chủ, máy chủ sẽ nhận được "TEST"
trong biểu diễn mảng byte[]
và chuyển đổi nó thành String
bằng cách sử dụng hàm tạo String(byte[])
. Sau đó, tôi cần so sánh số String
mới nhận được với một chuỗi khác bằng phương thức equalsIgnoreCase
. Nhưng nó không làm việc ...Chuyển đổi từ Byte Array thành String và so sánh với một Chuỗi khác (java)
Dưới đây là một mẫu mã của tôi:
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
//Client sent "TEST"
String sentence = new String(receivePacket.getData(), "UTF-8");
System.out.println("RECEIVED: " + sentence);
System.out.println(sentence.equalsIgnoreCase("TEST")); //This gives me FALSE
Bất kỳ ý tưởng?
Điều gì không hoạt động? Ngoại lệ, dự kiến so với đầu ra thực tế? – BetaRide
'System.out.println (" RECEIVED: "+ câu);' print là gì? –
System.out.println ("RECEIVED:" + sentence) sẽ in "RECEIVED: TEST" Nhưng khi so sánh câu với "TEST", kết quả là false –