Mam serwer/klient UDP, który wysyła i odbiera informacje. Client
wyśle na serwer przykład "TEST"
, serwer otrzyma "TEST"
w reprezentacji tablic byte[]
i skonwertuje ją na String
przy użyciu konstruktora String(byte[])
. Następnie muszę porównać nowy String
otrzymany z innym ciągiem przy użyciu metody equalsIgnoreCase
. Ale to nie działa ...Konwertuj z tablicy bajtowej na ciąg i porównaj z innym ciągiem znaków (java)
Oto próbka mojego kodu:
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
Jakieś pomysły?
Co nie działa? Wyjątek, oczekiwany a rzeczywisty wynik? – BetaRide
Co znaczy "System.out.println (" RECEIVED: "+ sentence); print? –
System.out.println ("RECEIVED:" + zdanie) wyświetli "RECEIVED: TEST" Ale przy porównywaniu zdania z "TEST" wynik jest fałszywy –