Javaの学習の概要:25

組み込み機能インターフェース

表示される可能性のある関数インターフェイスには最大で4つのタイプのメソッドあります。パラメーター付きの戻り値、パラメーター付きの戻り値なし、パラメーター付きの戻り値なし、trueとfalseの判断です。
開発者の定義を簡素化して操作を統一するために、Javaは新しい開発パッケージjava.util.functionを提供し、このパッケージに次の4つのコア機能インターフェースを提供します。

1.機能インターフェース(Function)

インターフェイスは次のように定義されています。

@FunctionalInterface
public interface Function<T,R>{
    public R apply(T t);
}

主な機能:このインターフェースは、パラメーターを受け取り、処理結果を返す必要があります。

例:機能的な機能インターフェースを使用します。このプログラムは、関数インターフェイス参照、文字列クラス「public boolean startsWith(String str)」メソッドを使用します

package Project.Study.BuiltInFunctionalInterface;
import java.util.function.*;

public class Test1 {
    public static void main(String args[]){
        Function<String,Boolean>fun="Hello World"::startsWith;
        //public boolean startsWith(String prefix, int toffset)方法
        //startsWith() 方法用于检测字符串是否以指定的前缀开始。
        System.out.println(fun.apply("H"));
        System.out.println(fun.apply("e"));
        System.out.println(fun.apply("ll"));
    }
}
//结果:
//true
//false
//false

2.コンシューマインターフェイス(コンシューマ)

インターフェイスは次のように定義されています。

@FunctionalInterface
public interface Consumer<T>{
    public void accept(T t);
}

主な役割:このインターフェースは、データの受信のみを担当し(データを参照するときに戻る必要はありません)、処理結果を返しません。

例:コンシューマーインターフェイスを使用します。

package Project.Study.BuiltInFunctionalInterface;
import java.util.function.Consumer;

public class Test2 {
    public static void main(String args[]){
        Consumer<String>cons=System.out::println;
        cons.accept("Hello World");
    }    
}
//结果
//Hello World

このプログラムは、コンシューマインターフェイスを使用してSystem.out.println()メソッドへの参照を受け取ります。このメソッド定義は文字列データを受け取る必要がありますが、結果を返しません。

3.供給インターフェース(サプライヤー)

インターフェイスは次のように定義されています。

@FunctionalInterface
public interface Supplier<T>{
    public T get();
}

主な機能:このインターフェースはパラメーターを受け取りませんが、結果を返すことができます。

例:供給インターフェース。このプログラムは、Stringクラス(public String toUpperCase())のtoUpperCase()メソッドを使用します。

package Project.Study.BuiltInFunctionalInterface;
import java.util.function.Supplier;

public class Test3 {
    public static void main(String args[]){
        Supplier<String>sup="Hello World"::toUpperCase;
        //toUpperCase的意思是将所有的英文字符转换为大写字母,只对英文字母有效,对除了A~Z和a~z的其余字符无任何效果
        System.out.println(sup.get());}
}
//结果
//HELLO WORLD

4.アサーションインターフェース(述語)

インターフェイスは次のように定義されています。

@FunctionalInterface
public interface Predicate<T,R>{
    public boolean test(T t);
}

主な役割:使用を判断する

例:アサーティブインターフェース。このプログラムは、Stringクラス(public boolean equalsIgnoreCase(String str))のequalsIgnoreCase()メソッドを参照します。

package Project.Study.BuiltInFunctionalInterface;
import java.util.function.Predicate;

public class Test4 {
    public static void main(String args[]){
        Predicate<String>pre="Hello World"::equalsIgnoreCase;
        //执行忽略大小写的比较,当比较两个字符串时,它会认为A-Z和a-z是一样的
        System.out.println(pre.test("HELLO WORLD"));
    }
}
//结果:
//true
49件の元の記事が公開されました 高く評価しました25 訪問1523

おすすめ

転載: blog.csdn.net/weixin_45784666/article/details/104956600