0

通常、if ステートメント:if(variable==60) {system.out.println("60");}

variableしかし、単語と完全に一致するかどうかをテストしたいと思います。

たとえば、ユーザーがテキスト ボックス「hello」に入力すると、ユーザーが「hello」system.out.println.... と入力したかどうかを示す if ステートメントを作成するにはどうすればよいでしょうか。

4

3 に答える 3

7

equalsメソッドが必要です:

if ("hello".equals(variable)) {

equalsIgnoreCaseメソッドもあることに注意してください。これは、ユーザーが「hello」の代わりに「Hello」と入力する可能性がある場合に役立ちます。

variable が null の場合にNullPointerException. variable が null の場合、if は false を返します。

于 2012-09-17T19:13:43.237 に答える
3

Many people usually get confused with this because they try to use == on strings (which are objects), and receive unexpected results. You will have to use if ("hello".equals(var)) {...}. Bear in mind that the equals method is for objects, and == is generally for primitives.

于 2012-09-17T19:15:41.037 に答える
0

明確な例を次に示します。

    String pool1 = "funny";
    String pool2 = "funny";
    String not_pooled = new String("funny");
    System.out.println("pool1 equals pool2 ? "+(pool1==pool2)); //Equal because they point to same pooled instance
    System.out.println("pool1 equals not_pooled ? "+(pool1==not_pooled)); //Not equal because 'not_pooled' not pooled.
    System.out.println("pool1 equals not_pooled ? " +(pool1.equals(not_pooled))); //Equal because the contents of the object is checked and not the reference

出力:

pool1はpool2と同じですか?true

pool1はnot_pooledに等しい?false

pool1はnot_pooledに等しい?true

于 2012-09-17T19:35:49.423 に答える