3

我想测试两个 lambda 方法是否相等;例如:

public class App {

    @FunctionalInterface
    public interface TestFunctionInterface {
        void get();
    }

    public static void main(String[] args) throws Throwable {
        TestFunctionInterface t1 = App::print1;
        TestFunctionInterface t2 = App::print1;
        TestFunctionInterface t3 = App::print2;
        System.out.println(t1.equals(t2));
        System.out.println(!t1.equals(t3));
    }

    private static void print1() {
    }

    private static void print2() {
    }
}

输出:

false

true

我的目标是验证这两个 lambda 函数是相同的方法。

即有一个返回true 的测试。

这样,我可以从FunctionalInterface获取方法信息吗?

谢谢

4

0 回答 0