Stringクラスのtrim( )メソッドの中身を考える
trim()メソッド
この処理の中身を考える。
しかし、説明から意味不明。。。
がんばって帰りの電車で考えてみます
============================================================
3/20追記
APIのリンク
java.lang: String.java
============================================================
3/23追記
3/20追記分のAPIを元に、trimの中身を見てみた。
何をやっているかというと、1つめのwhile文内で
trim後の最初のインデックスを設定している。
次に、2つめのwhile文内で
trim後の最後のインデックスを設定している。
上記より、開始インデックスと終了インデックスが決まった。
これらを引数としてsubStringメソッドを呼びだす。
SubStringの中身は以下のようになっている(例外処理は省略)。
・開始インデックスが0かつ終了インデックスが文字数と同じ(スペースがないとき)
⇒this(このString文字列の参照)をそのまま返す
・それ以外のとき
⇒この文字列の部分文字列を表す新しい String オブジェクトを返す
newでコンストラクタを呼び出しています。
// Package private constructor which shares value array for speed.
String(int offset, int count, char value[]) {
this.value = value;
this.offset = offset;
this.count = count;
}
こうしてtrimされた新しい文字列が生成されます。
上で出てきたようなif文の書き方好きじゃない。
素人には難解なのです。
いくら簡単な判別だとしても、パッと見て分かるものにしてほしい。