2006-04-17
■[第18章] String.replaceのドキュメントを読んでみる。
ShowFile1で「ファイル中のタブを半角空白×2に変換してから表示したい」と思い、whileループ内に一行追加してみました。
while ((line = reader.readLine()) != null) {
line.replace("\t", " ");
System.out.println(line);
}
E:\study\18>javac ShowFile1.java
ShowFile1.java:15: java.lang.String の replace(char,char) は (java.lang.String,j
ava.lang.String) に適用できません。
line.replace("\t", " ");
^
エラー 1 個
あてずっぽじゃダメみたいです。ということで、いよいよドキュメントを読んでみます。まず、java.langのStringクラスのメソッド。
String replace(char oldChar, char newChar)
この文字列内にあるすべての oldChar を newChar に置換した結果生成される、新しい文字列を返します。
String replace(CharSequence target, CharSequence replacement)
リテラルターゲットシーケンスに一致するこの文字列の部分文字列を、指定されたリテラル置換シーケンスに置き換えます。
String replaceAll(String regex, String replacement)
指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。
String replaceFirst(String regex, String replacement)
指定された正規表現に一致する、この文字列の最初の部分文字列に対し、指定された置換を実行します。
「replace(CharSequence target, CharSequence replacement)」がやりたいことに近い様子。次にCharSequenceを調べてみます。
既知の実装クラスの一覧:
CharBuffer, String, StringBuffer, StringBuilder
あれ、Stringが入っていますね。だとすると、「replace(String,String)」は「replace(CharSequence,CharSequence)」だとみなされても良さそうですが。
気になる点というと、実は勉強場所を転々と変えていて、勉強環境もjava 1.5だったりjava 1.4.2だったりします。今使っているのが1.4.2_11で、このドキュメントは1.5のものなので、その違いでしょうか?
ここでは「ドキュメントを読む感覚が分かった」ということにしておいて、変換については、ひとまず保留。
トラックバック - http://d.hatena.ne.jp/jwalrus/20060417/1145242073
リンク元
- 76 http://www.hyuki.com/t/
- 51 http://www.hyuki.com/t/200604.html
- 12 http://feedbringer.net/feed
- 6 http://www.hyuki.com/t/index.html
- 2 http://d.hatena.ne.jp/keywordmobile/TOOL
- 2 http://digit.que.ne.jp/visit/index.cgi?2006年4月
- 2 http://trendlink.mirailab.com/11928.html
- 2 http://trendlink.mirailab.com/21812.html
- 1 http://10.15.254.108/rss/feedshow.php?f=http://www.hyuki.com/t/rss.xml&c=cf44c62
- 1 http://127.0.0.1:4474/folder?1996864


