演習課題「「特定の型の同じインスタンス」のインスタンスメソッドへの参照を行ってみよう」
StringBuilder
クラスをインスタンス化し、関数型インターフェースのFunction
を利用して、「特定の型の同じインスタンス」のインスタンスメソッドへの参照を行ってビルダーは建築した
と出力されるようコードを追記してください。
期待する出力値
ビルダーは建築した
演習課題「「特定の型の任意のオブジェクト」のインスタンスメソッドへの参照を行ってみよう」
Skill
クラスをインスタンス化し、関数型インターフェースのConsumer
を利用して、「特定の型の任意のオブジェクト」のインスタンスメソッドへの参照を行ってライトニングを放った
と出力されるようコードを追記してください。
期待する出力値
ライトニングを放った
#06:インスタンスメソッド参照
このチャプターでは、インスタンスメソッド参照について学習します。
StringBuilderクラスは、文字列の末尾への追加や指定された位置への挿入を効率よくおこなうことができるクラスです。StringBuiler sb = new StringBuilder();
sb.append("a");
sb.append("b");
sb.append("c");
String s = sb.toString(); // s = "abc"
StringBuilder
https://docs.oracle.com/javase/jp/17/docs/api/java.base/java/lang/StringBuilder.html
import java.util.*;
import java.util.function.*;
public class Main {
public static void main(String... args) {
StringBuilder sb1 = new StringBuilder();
Function<String, StringBuilder> f1 = sb1::append;
f1.apply("a");
System.out.println(f1.apply("b"));
StringBuilder sb2 = new StringBuilder();
Function<String, StringBuilder> f2 = s -> sb2.append(s);
f2.apply("a");
System.out.println(f2.apply("b"));
Function<String, StringBuilder> f3 = new StringBuilder()::append;
f3.apply("a");
System.out.println(f3.apply("b"));
Function<String, StringBuilder> f4 = s -> {
StringBuilder sb3 = new StringBuilder();
return sb3.append(s);
};
f4.apply("a");
System.out.println(f4.apply("b"));
ToIntFunction<String> tif1 = String::length;
System.out.println(tif1.applyAsInt("abc"));
ToIntFunction<String> tif2 = t -> t.length();
System.out.println(tif2.applyAsInt("abc"));
}
}