Java 関数型インターフェースのサンプル(Predicate)

Javaの関数型インターフェースのPredicateのサンプルです。

目次

説明 Predicateインターフェース
サンプル クラスにPredicateインターフェースを実装する
  匿名クラスでPredicateインターフェースを使用する

Predicateインターフェース

インターフェース public interface Predicate<T>
メソッド boolean test(T t)

関数型インターフェースのPredicateのサンプルです。

package test1;

import java.util.function.Predicate;

public class Test1 {
	public static void main(String[] args) {
		
		Predicate <String> c1 = a -> a.isEmpty();
		
		System.out.println(c1.test("3")); //false
		
		System.out.println(c1.test("")); //true
	}
}

3行目は、java.util.functionパッケージのPredicateインターフェースをimportしています。
8行目は、Predicateインターフェースを使用したラムダ式です。
10,12行目は、testメソッドで引数があり、戻り値もあります。戻り値はbooleanです。

 

クラスにPredicateインターフェースを実装する

クラスにPredicateインターフェースを実装するサンプルです。

package test1;
import java.util.function.Predicate;

public class Test1 {
	public static void main(String[] args) {
		
		int c1 = 1;
		Message ms = new Message();
		boolean b1 = ms.test(c1);
		System.out.println(b1); //true
	}
}
 class Message implements Predicate<Integer>{
	@Override
    public  boolean test(Integer c1) {
		boolean a1 = false;
		if (c1 == 1 ){
			a1 = true;
		}
		return a1;
	}
}

2行目は、java.util.function.Predicateインターフェースをimportしています。
13行目は、Predicateインターフェースを実装しています。
Integerは引数の型です。
9行目は、testメソッドです。引数と戻り値があります。戻り値はbooleanです。

 

匿名クラスでPredicateインターフェースを使用する

匿名クラスでPredicateインターフェースを使用するサンプルです。

package test1;
import java.util.function.Predicate;

public class Test1 {
	public static void main(String[] args) {
		
		int c1 = 1;
		boolean b1  = new Predicate<Integer>() {
			@Override
		    public  boolean  test(Integer c1 ) {
				boolean a1 = false;
				if (c1 == 1 ){
					a1 = true;
				}
				return a1;
		    }
		}.test(c1);
		
		System.out.println(b1); //true
	}
}

6行目は、java.util.PredicateパッケージのPredicateインターフェースをimportしています。
13行目は、匿名クラスです。クラス名はありません。
19行目は、applyメソッドです。引数と戻り値があります。
19行目は、数値が昇順にソートされて表示されます。

関連の記事

Java 関数型インターフェースのサンプル(Consumer)
Java 関数型インターフェースのサンプル(Supplier)
Java 関数型インターフェースのサンプル(Function)

△上に戻る