可以在Java Lombok中使用IntelliJ的“将数据流分析到此处”功能吗?

时间:2019-10-14 02:50:15

标签: java intellij-idea lombok intellij-lombok-plugin

我最近做了一个实验,看看如何使用Lombok减少代码中的样板。

问题: 通过IntelliJ IDEA通过Lombok批注使用构建器创建简单数据类时,我无法右键单击一个字段,然后选择“分析到此处的数据流”。

这是使用最新的IntelliJ Lombok插件。 IntelliJ Ultimate 2019.2.3。

是否有此修复程序?还是根本不支持它?

示例1-没有龙目岛:

public class Person {

    private String name;
    private int age;

    private Person() {

    }

    public Person(Builder builder) {
        name = builder.name;
        age = builder.age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public static class Builder {
        private String name;
        private int age;

        public Builder name(String val) {
            this.name = val;
            return this;
        }

        public Builder age(int val) {
            this.age = val;
            return this;
        }

        public Person build() {
            return new Person(this);
        }
    }
}
public class Main {

    public static void main(String[] args) {
        Person person = new Person.Builder().name("tom").age(3).build();
    }
}

使用上面的代码,当我右键单击“名称”变量并选择到此处分析数据流时,我能够看到该数据流。如屏幕截图所示: enter image description here

示例2-使用龙目岛:

import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Builder
@Getter
public class Person {
    private String name;
    private int age;
}
public class Main {
    public static void main(String[] args) {
        Person person = Person.builder().name("tom").age(3).build();
    }
}

在上面的代码示例中,在名称字段中选择“此处的数据流分析”将显示变量名称,但没有树可展开,如屏幕截图所示。enter image description here

1 个答案:

答案 0 :(得分:1)

“分析到此处的数据流”不适用于Lombok批注提供的生成代码。