質問: javaで文字列に¥が入っているか調べたかったので ``` if(str.equals("¥")){ ~ } ``` としたところ、文字リテラルが閉じられていませんとコンパイルエラーになりました。 どう書けばいいのでしょうか。 ※このサイトでは¥が全角になっていますが、本当は半角です。
回答: 便宜上、本回答でも全角の¥を用います。 * equalsメソッドは「文字列が同じであるか」を調べるメソッドですので、 **含まれている**には適しません。 * 含まれているかを調べるにはcontainsメソッドを使います * Javaでは¥はエスケープ文字と呼ばれ、 **後ろに続く文字と合わせることで** 特殊な文字列を意味する記号となります。 * ¥そのものを示す場合は ¥¥ と2つ並べます。