質問: 0 || text.trim().equals("")){ //true処理 } else { //else処理 } ``` 上記のように書いているのですが、ブランクを入力した時にelse処理にいってしまいます。 なぜなのでしょうか。
回答: `TextUtils.isEmpty(CharSequence)`)メソッドは`null`か空文字列でtrue, `text.length() == 0`は空文字列でtrue, `String#trim()`)が空文字列と等価になるのはコードポイントU+0020以下の文字で構成される文字列です。 入力した「ブランク」が、この条件に当てはまらなければ`else`に入るわけですが、`trim`されない条件の文字が入っていることが考えられます。 例えば全角スペースが入っていると条件にマッチせず、`else`に入りますね。 `Character.codePointAt(CharSequence,int)`)メソッドでコードポイントを取得できますので、このメソッドで実際に何が入っているのか確認することができると思います。