如何在普通Java Android中实现特定的lambda表达式

如何在普通Java Android中实现特定的lambda表达式,java,android,lambda,Java,Android,Lambda,我目前正在使用一个库,它使用lambda表达式来获取颜色。我试图研究lambda,但似乎无法理解它,也无法理解如何修改代码 调用我正在使用的库,代码如下: Aesthetic.get() .colorPrimary() .take(1) .subscribe(color -> { System.out.println("The color is " + color); }); 如果不使用->,我如何获得颜色,因为我不想在我的项目中使用Jav

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

调用我正在使用的库,代码如下:

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

如果不使用
->
,我如何获得颜色,因为我不想在我的项目中使用Java 1.8。

订阅
方法需要
消费者
。lambda基本上代表了一个实例。因此,您只需要创建
消费者
的实例。可以使用匿名类执行此操作:

.subscribe(new Consumer<Integer>() {

        @Override
        public void accept(Integer color) {
            System.out.println("The color is " + color);
        }
    });
.subscribe(新消费者(){
@凌驾
公共void接受(整数颜色){
System.out.println(“颜色为”+颜色);
}
});

非常感谢您!尽管这似乎是个糟糕的问题,但你帮我解决了过去4天我一直在摆弄的问题!