秣秩斯干,幽幽南山。如竹苞矣,如松茂矣。——《诗经》
首先是官方文档,列举了所有注解
常用的我就不聊了,这里上代码聊聊不咋常用的
首先是@Cleanup
注解,能够自动关闭流
1 |
|
最后生成的代码:
然后是@NonNull
注解,加到我们的参数上
就会自动生成如下代码:
如果@NonNull
加在属性上,也会在之后生成的setter
判空
接下来是@RequiredArgsConstructor
注解,它可以生成一个静态构造函数,效果如下:
@Value
注解和@RequiredArgsConstructor
注解差不多
生成效果如下:
对于@Singular
注解,它可以和@Builder
建造者模式配合使用,针对List
等集合类型的属性生成对应的操作函数
效果如下:
下面是@SneakyThrows
,简单来讲就是再加一个try-catch
,避免编译时异常导致编译失败
生成的代码:
以及@Synchronized
注解
以及var
生成:
然后是val
生成:
@With
注解的话放在属性上面:
可以生成以下代码:
还有一个能获取到泛型内的类型,生成能直接调用该类型中对应方法的函数
生成下面这部分:
剩下的experimental
包里的注解我们下次再叙吧