Java 8 与Java8 lambda和自动生成的构造函数混淆了吗?

Java 8 与Java8 lambda和自动生成的构造函数混淆了吗?,java-8,lombok,Java 8,Lombok,此类中没有其他构造函数。 我甚至不懂怎么读 来自Lombok的注释为您创建构造函数 作为一个初学者,你应该避免使用Lombok,因为它涉及到太多的代码生成 > this(myStr, () -> {}, () -> {}); > () -> {} @RequiredArgsConstructor 福班{ @非空私有最终一元运算符myStr; @非空私有最终可运行启动、停止; 公共foo(一元运营商myStr){ 这(myStr,()->{},()->{}; } /

此类中没有其他构造函数。 我甚至不懂怎么读

来自Lombok的注释为您创建构造函数 作为一个初学者,你应该避免使用Lombok,因为它涉及到太多的代码生成

> this(myStr, () -> {}, () -> {});
> () -> {}
@RequiredArgsConstructor
福班{
@非空私有最终一元运算符myStr;
@非空私有最终可运行启动、停止;
公共foo(一元运营商myStr){
这(myStr,()->{},()->{};
}
//...
}
将是:

@RequiredArgsConstructor
class Foo {
    @NonNull private final UnaryOperator<String> myStr;
    @NonNull private final Runnable start, stop;

    public foo (UnaryOperator<String> myStr) {
        this(myStr, () -> {}, () -> {};
    }
    //...
}
class-Foo{
私人最终一元运营商myStr;
私人最终可运行启动、停止;
公共foo(一元运营商myStr){
这(myStr,()->{},()->{};
}
public foo(UnaryOperator myStr、可运行启动、可运行停止){
//Lombok从@NonNull生成检查
如果(myStr==null)抛出新的NullPointerException();
如果(start==null)抛出新的NullPointerException();
如果(stop==null)抛出新的NullPointerException();
this.myStr=myStr;
this.start=start;
this.stop=停止;
}
//...
}

必须有另一个构造函数具有
foo(UnaryOperator myStr,Runnable r1,Runnable r2){…}
签名。顺便说一句,类的名称为
大写
。可能重复“我甚至不知道如何读取它”-代码中有多个错误,所以,我也不明白如何阅读…嗯,发布不完整的代码片段就像有人会在中途结束飞行..和()->{}实际上只是空方法,这是另一件让人困惑的事情。我在做项目,所以我必须使用/理解Lombok。但是谢谢你!@codemuncher Yes
()->{}
相当于
new Runnable(){public void run(){}}
@RequiredArgsConstructor
class Foo {
    @NonNull private final UnaryOperator<String> myStr;
    @NonNull private final Runnable start, stop;

    public foo (UnaryOperator<String> myStr) {
        this(myStr, () -> {}, () -> {};
    }
    //...
}
class Foo {
    private final UnaryOperator<String> myStr;
    private final Runnable start, stop;

    public foo (UnaryOperator<String> myStr) {
        this(myStr, () -> {}, () -> {};
    }

    public foo (UnaryOperator<String> myStr, Runnable start, Runnable stop) {
        //Lombok generated checks from @NonNull
        if(myStr == null) throw new NullPointerException();
        if(start == null) throw new NullPointerException();
        if(stop == null) throw new NullPointerException();
        this.myStr = myStr;
        this.start = start;
        this.stop = stop;
    }
    //...
}