是否可以将 IntelliJ 的“分析数据流到此处”功能与 Java Lombok 结合使用?

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


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


这是使用最新的 IntelliJ Lombok 插件。IntelliJ 旗舰版 2019.2.3。


有没有解决这个问题的方法或者根本不支持它?


示例 1 - 没有 lombok:


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();

    }

}

使用上面的代码,当我右键单击“名称”变量并选择分析数据流到此处时,我可以看到数据流。如截图所示:

https://img1.sycdn.imooc.com/6530d422000117fc07050115.jpg

示例 2 - 使用 Lombok:


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();

    }

}

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

https://img1.sycdn.imooc.com/6530d42f0001332304100036.jpg

Cats萌萌
浏览 74回答 1
1回答

qq_花开花谢_0

“分析到此处的数据流”不适用于 Lombok 注释提供的生成代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java