標準ループを使用して、次のように部分文字列を文字列値と比較しました。
if (str.substring(i, i+3) == "dog" ) dogcount++;
そしてそれは反復を破りました。最初のインクリメントの後、「犬」のそれ以上のインスタンスは検出されません。
だから私はsubstring.equalsを使用しましたが、それはうまくいきました:
if (str.substring(i, i+3).equals("dog")) dogcount++;
私の質問は、なぜですか?理解を深めたいだけです、thx。