「Java」関数型インターフェースのCallableを使うサンプル
環境
JavaSE1.8
Eclipse 2019
書式
@FunctionalInterface
public interface Callable<V>
CallableインタフェースはRunnableと似ていて、どちらもインスタンスが別のスレッドによって実行される可能性があるクラス用に設計されています。
インターフェース public interface Callable<V>
メソッド V call() throws Exception
Callableインターフェースを実装したクラスはcallメソッドのオーバーライドが必要です。
Callableは、入力なしで出力があります。Vは戻り値の型です。
使用例
package com.arkgame.study;
//Callableをインポートします
import java.util.concurrent.Callable;
public class Callabledemo {
public static void main(String[] args) {
// Callableインターフェースを使用するラムダ式
Callable<Integer> cft = () -> {
return 123;
};
try {
// 文字列を出力
System.out.println("結果: " + cft.call());
} catch (Exception e) {
System.out.println(e);
}
}
}
package com.arkgame.study;
//Callableをインポートします
import java.util.concurrent.Callable;
public class Callabledemo {
public static void main(String[] args) {
// Callableインターフェースを使用するラムダ式
Callable<Integer> cft = () -> {
return 123;
};
try {
// 文字列を出力
System.out.println("結果: " + cft.call());
} catch (Exception e) {
System.out.println(e);
}
}
}
package com.arkgame.study; //Callableをインポートします import java.util.concurrent.Callable; public class Callabledemo { public static void main(String[] args) { // Callableインターフェースを使用するラムダ式 Callable<Integer> cft = () -> { return 123; }; try { // 文字列を出力 System.out.println("結果: " + cft.call()); } catch (Exception e) { System.out.println(e); } } }
実行結果
結果: 123