-2
私は、UDPベースのJavaプロジェクトで作業中に非常に奇妙な問題にぶち当たっています。要約すると、DataPacketを介してリクエストを受け取ったときに新しい文字列に変換すると、文字列の値をチェックするとfalseが返され続けます。コードは以下の通りです。Javaの文字列比較
DatagramPacket request = new DatagramPacket(buffer, buffer.length);
aSocket.receive(request);
String message = new String(request.getData());
System.out.println("Received: " + new String(request.getData()));
System.out.println(message); //Prints out "11" without quotes when I send it
String a = "11";
System.out.println("Received: " + message);
if(message.equals("11")){
System.out.println("Got 11.");
}
// Also tried .equals(a), but either ways it seems to be returning false.
あなたのストリングは "11"ではありません。受信した文字列の個々の文字をチェックしましたか?印刷されない文字ですか?空白?それを比較する前に文字列をトリムしましたか? –
デバッガを実行して、どのメッセージが等しいかを確認してください。 – PrestonM