0

これを実行すると、ifステートメントは常にfalseを返すため、そこにある2行は実行されません。上記の行で、単語が実際に同じであり、同一であるかどうかを確認しました。それで、私が完全に気づいていない何かがここにありますか、それとも私はただねじ込まれていますか?重要な場合は、Eclipseを使用しています。

boolean wordHasElement = false;
for (int firstdimension = 0; firstdimension <= wordnumber-1; firstdimension++){
    System.out.println("-"+ words[firstdimension][0] + "-" + linewords[linewordnumber]  + "-");
    if (words[firstdimension][0] == linewords[linewordnumber] ){
        System.out.println("Worked");
        wordHasElement = true;
    }
}
4

1 に答える 1

11

if(words [firstdimension] [0] == linewords [linewordnumber]){

に置き換える必要があります

if (words[firstdimension][0].equals(linewords[linewordnumber] ){
  • ==あるオブジェクトが別のオブジェクトと同じであるかどうかを確認しますが、実際には関心がありません。
  • equals(...)2つの文字列が同じ文字列(同じ順序の同じ文字)を保持しているかどうかをチェックします。それが重要です。または、大文字と小文字が区別さequalsIgnoreCase(...)れない場合に使用できます。
于 2012-06-06T21:29:09.633 に答える