如何在普通的Java Android中执行特定的lambda表达式

时间:2017-08-19 17:17:04

标签: java android lambda

我目前正在使用一个库,它使用lambda表达式来获取颜色。我试着研究lambda,但我似乎无法理解它,或者如何调整代码。

我使用的图书馆名为Aesthetic,这是代码:

Aesthetic.get()
    .colorPrimary()
    .take(1)
    .subscribe(color -> {
        System.out.println("The color is " + color);
    });

如何在不使用->的情况下获取颜色,因为我不想在项目中使用Java 1.8。

1 个答案:

答案 0 :(得分:3)

subscribe方法需要Consumer<Integer>。 lambda基本上代表了它的一个实例。因此,您只需要创建Consumer<Integer>的实例。您可以使用匿名类来执行此操作:

.subscribe(new Consumer<Integer>() {

        @Override
        public void accept(Integer color) {
            System.out.println("The color is " + color);
        }
    });