#每日精选文章# 一行注解,干掉 90% 的 NPE 风险。
@NullMarked
package com.example.service;
加上一行,整个包内所有方法参数和返回值默认非空。只有真正可能为 null 的地方才需要标 @Nullable。
Spring Boot 4 源码里核心模块已经全面 @NullMarked,配合 NullAway + ErrorProne,NPE 在编译期就被拦住了,根本跑不到线上。
从"默认可空、漏标就炸"到"默认非空、只标例外"——这就是 JSpecify 的设计哲学 🧠
@NullMarked
package com.example.service;
加上一行,整个包内所有方法参数和返回值默认非空。只有真正可能为 null 的地方才需要标 @Nullable。
Spring Boot 4 源码里核心模块已经全面 @NullMarked,配合 NullAway + ErrorProne,NPE 在编译期就被拦住了,根本跑不到线上。
从"默认可空、漏标就炸"到"默认非空、只标例外"——这就是 JSpecify 的设计哲学 🧠
展开
评论
1
结局意想不到!