秣秩斯干,幽幽南山。如竹苞矣,如松茂矣。——《诗经》
首先是官方文档,列举了所有注解
常用的我就不聊了,这里上代码聊聊不咋常用的
首先是@Cleanup注解,能够自动关闭流
1 | |
最后生成的代码:

然后是@NonNull注解,加到我们的参数上

就会自动生成如下代码:

如果@NonNull加在属性上,也会在之后生成的setter判空
接下来是@RequiredArgsConstructor注解,它可以生成一个静态构造函数,效果如下:

@Value注解和@RequiredArgsConstructor注解差不多

生成效果如下:

对于@Singular注解,它可以和@Builder建造者模式配合使用,针对List等集合类型的属性生成对应的操作函数

效果如下:

下面是@SneakyThrows,简单来讲就是再加一个try-catch,避免编译时异常导致编译失败

生成的代码:

以及@Synchronized注解


以及var

生成:

然后是val

生成:

@With注解的话放在属性上面:

可以生成以下代码:

还有一个能获取到泛型内的类型,生成能直接调用该类型中对应方法的函数

生成下面这部分:

剩下的experimental包里的注解我们下次再叙吧