-1

たとえば、BufferedReader を使用して文字列入力を取得すると、次のようになります。

String a=br.readLine();

その後、次のように入力します。

 if(a=="hello")
    {//statements}
    else{....}

ユーザーが文字列 a として 'hello' を入力しても、if ブロック内のステートメントは実行されず、else にジャンプするだけです。バッファリングされたリーダーを使用せずに、メソッドのパラメーター リストで文字列入力を直接取得する場合、この問題に直面することはありません。なにが問題ですか?この問題に直面することなく、バッファリングされたリーダーを使用して文字列入力を取得するにはどうすればよいですか?助けてください。ps私のプログラムには構文エラーはありません

4

1 に答える 1

1

String#equals内容確認にご利用くださいString==演算子は、参照を比較するために使用されますObject

if (a.equals("hello"))

または避けるためNPEに、使用する方が良い

if ("hello".equals(a)))
于 2013-03-26T17:29:43.970 に答える