What's the nearest substitute for a function pointer in Java?

前端 未结 22 1844
太阳男子
太阳男子 2020-11-22 15:32

I have a method that\'s about ten lines of code. I want to create more methods that do exactly the same thing, except for a small calculation that\'s going to change one li

22条回答
  •  北恋
    北恋 (楼主)
    2020-11-22 16:16

    None of the Java 8 answers have given a full, cohesive example, so here it comes.

    Declare the method that accepts the "function pointer" as follows:

    void doCalculation(Function calculation, int parameter) {
        final String result = calculation.apply(parameter);
    }
    

    Call it by providing the function with a lambda expression:

    doCalculation((i) -> i.toString(), 2);
    

提交回复
热议问题