lambda表達(dá)式

/**
 * Predicate<T>
 *     method : test(T t)
 * 判斷,返回boolean
 */
public static void testPredicate(){
    Predicate<BigDecimal> predicate = x -> x.compareTo(BigDecimal.ZERO) > 0;
    Predicate<BigDecimal> predicate2 = x -> x.compareTo(BigDecimal.TEN) <= 0;
    System.out.println(predicate.test(new BigDecimal(-1)));
    System.out.println(predicate.and(predicate2).test(new BigDecimal(10)));
}

/**
 * Consumer<T>
 *     method : accept(T t)
 * 消費一條消息,無返回值
 */
public static void testConsumer(){
    Consumer<List<Student>> consumer = x -> {
        for (Student student : x) {
            student.setScore(student.getScore() * 100);
        }
    };
    List<Student> list = new ArrayList<>(2);
    list.add(new Student(0.3));
    list.add(new Student(0.5));
    for (Student student : list) {
        System.out.println(student.getScore());
    }
    consumer.accept(list);
    for (Student student : list) {
        System.out.println(student.getScore());
    }
}

/**
 * Function
 *      method : R apply(T t)
 * 講 T 轉(zhuǎn)換成 R
 */
public static void testFunction(){
    Function<Student,Double> function = x -> x.getScore();
    Student s = new Student(89d);
    System.out.println(s);
    System.out.println(function.apply(s));
}

/**
 * 生產(chǎn)一條消息
 */
public static void testSupplier(){
    Supplier<String> supplier = () -> "supplier return";
    System.out.println(supplier.get());
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容