1
0

More than 1 year has passed since last update.

関数

Last updated at Posted at 2022-12-14

関数とは

何らかの入力を受け、処理を行い、出力を返すもの。
このため、メソッドも関数の一種になる。

戻り値を返す関数の代入

関数は変数に代入できるという特徴を有しています。そのため、関数の一種であるメソッドを変数に代入することができます。

import java.util.function.Function;

public class Main {
	// 文字を受け取り、その文字数を返す関数
	public static Integer len(String word) {
		return word.length();
	}

	public static void main(String[] args) {
		// 変数funcにlenメソッドへの参照を代入
		Function<String, Integer> func = Main::len;
		// applyで代入された関数を適用
		int a = func.apply("Tokyo");
		System.out.println(a);
	}
}

*Function
関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用可能

メソッドのアドレスの格納

変数名 = クラス名::そのクラスの静的メソッド名
変数名 = インスタンス名::そのインスタンスのメソッド名

戻り値を返さない関数

	public static void main(String[] args) {
		Consumer<String> func = System.out::println;
		// acceptで、代入された関数を適用
		func.accept("Tokyo");
	}

引数がない関数を格納する

	public static void main(String[] args) {
		Supplier<String> func = System::lineSeparator;
		// acceptで、代入された関数を適用
		System.out.println("Tokyo" + func.get() + "OSAKA");
	}

参考資料

スッキリわかるJava入門 実践編 第3版 (スッキリわかる入門シリーズ)

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0