JavaのreplaceAll(String s1, String s2)メソッドについて質問です。
このメソッドは引数を二つとって、引数の最初の文字列は置き換えられる部分を、次の文字列は置き換える文字を指しているわけですが、次のコードではインスタンスを受け取っているのです。
public static void main(String[] args) { List<String> strs = Arrays.asList("a", "b", "c"); System.out.println(strs.toString()); strs.replaceAll(new Hoge()); System.out.println(strs.toString()); } } class Hoge implements UnaryOperator<String> { public String apply(String t) { return "{" + t + "}"; }
結果はこのようになりました。
[a, b, c] [{a}, {b}, {c}]
まず、この大かっこ([])は仕様でしょうか。
コレクション変数に対して、toString()メソッドを呼び出すと、デフォルトでこのような記号がついてくる仕様になっているのでしょうか。
また、replaceAllメソッドは引数でインスタンスを受け取っていますが、APIレファレンスを見ましても、このようなことは書いておりません。
一体どういうことなのでしょうか。
回答お願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。