1

重複の可能性:
Javaで文字列を比較するにはどうすればよいですか?

このコードはURLから値を取得する際に正常に機能しますが、文字列が「True」であることを認識しないのは、必要なtoString()か何か他のものですか?

try {
    URL url = new URL("http://www.koolflashgames.com/test.php?id=1");
    URLConnection yc = url.openConnection();
    BufferedReader in = new BufferedReader(new InputStreamReader(yc
            .getInputStream()));
    inputLine = in.readLine();
    inputLine = inputLine.toString();
    if(inputLine == "True") {
        logger.info(inputLine);
        player.sendMessage("Thanks");
    }else{
        logger.info(inputLine);
        player.sendMessage("HAHAHA");
    }
    in.close();
} catch (Exception e) {
    e.printStackTrace();
}
4

4 に答える 4

4

==文字列はオブジェクトであるため、文字列の内容を比較するために使用することはできません。オブジェクトを比較するメソッドを作成する必要があります。文字列の場合は、を使用できますstringName.equals(otherString)

于 2012-11-04T04:08:22.047 に答える
3

失礼ですが同意できません。メソッドを使用.equalsIgnoreCase()して、大文字と小文字を無視して文字列を比較します。これは、「True」、「TRue」、「tRue」などのすべてのケースに一致します。約16回一致します。

于 2012-11-04T04:11:48.393 に答える
3

文字列を比較するには、equalsを使用する必要があります。交換:

if(inputLine == "True") {

と:

if(inputLine.equals("True")) {

演算子==は、値が同じであるかどうかではなく、2つの参照が同じオブジェクトを参照しているかどうかを示します。

于 2012-11-04T04:08:46.770 に答える
2

Stringオブジェクトを比較するには、equals()メソッドを使用します。

==オペレーターは、2つのが同じ参照を持っているかどうかを確認しますString

Javaで文字列を比較するにはどうすればよいですか?を参照してください。詳細については。

于 2012-11-04T04:08:29.893 に答える