Functional programming in Java - Function composition
TIL
611
Male avatar

baoquocphan viết ngày 16/06/2017

Code

import java.util.*;
import java.lang.*;
import java.io.*;

abstract class Chainable {

    public Chainable andThen(Chainable after) {
        Chainable current = this;
        return new Chainable() {
            @Override
            public void apply() {
                current.apply();
                after.apply();
            }
        };
    }

    public abstract void apply();

}

class Ideone {
    public static void main (String[] args) {
        Chainable chained = new Chainable() {
            @Override 
            public void apply() {
                System.out.println("Learn Javasript");
            }
        };
        chained = chained.andThen(new Chainable() {
            @Override
            public void apply() {
                System.out.println("Learn Vue");
            }
        });
        chained = chained.andThen(new Chainable() {
            @Override
            public void apply() {
                System.out.println("Build something awesome");
            }
        });
        chained.apply();
    }
}

Output

http://ideone.com/v9EK80

Reference

http://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

baoquocphan 11-06-2017

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

baoquocphan

4 bài viết.
0 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
1 0
qsort :: (Integral a) = a] a] qsort lst | length lst < pivot] mid = x | x pivot] maxn :: Int maxn = 1000000 main = do print ((qsort maxn...
baoquocphan viết 2 năm trước
1 0
Male avatar
1 0
Code import java.util.; import java.lang.; import java.io.; class Beers implements Iterable { private int count = 0; class BeersIterator i...
baoquocphan viết 1 năm trước
1 0
Bài viết liên quan
White
0 2
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 2 tháng trước
0 2
White
19 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết gần 2 năm trước
19 1
White
1 1
Chào mọi người, hôm nay mình viết một bài TIL nhỏ về cách lấy độ phân giải của màn hình hiện tại đang sử dụng. xdpyinfo | grep dimensions Kết quả...
namtx viết 1 năm trước
1 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
4 bài viết.
0 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!