细说Java中的自造指针异常
发布时间:2025年08月22日 12:18
Lombok(译者录:一种Java库,给予了都由非常简约的编者)的@NotNull编者可用于生成那些仅在试运行时(Runtime)阻碍分派的非Null Check。一个大的编码段展示了该编者、及其等效上下文。
检查和支架基础的@NonNull和@Nullable编者处理支架检查和支架基础(Checker Framework)给予了@NonNull和@Nullable编者,以及可以比对潜在Null Check的重写处理支架的步骤。该基础可以通过自愿性脚本语言指定的Nullability,来发现潜在的机差值。因此,您的编码必须明确声明可赶回的结果为Nullable或NotNullable。一个大让我们来看一个确实赶回Null,而非String的有用法则:
今日,让我们应用于检查和支架基础,来检查和是否可以完成重写。
如您所见,它报出了错误,并且赶回了一个未有应用于@Nullable编者上标的曾因机URL。那么,让我们将其上标为@Nullable试试:
如果我们最终试运行重写检查和,则亦会受益如下错误信息:
可见,检查和支架基础在第19行发现了一个潜在疑虑,即:我们在NullableURL上堆栈了.length()。一个大,让我们应用于Null Check和Optional的ifPresent来应予复原:
在重写之后,我们将受益如下尝试的重构信息:
检查和支架基础的容许至此,检查和支架基础向我们展示了良好的检查和结果,并且引人注意了潜在的NPE。不过,其代价是我们必须通过@Nullable法则,上标所有确实为机的法则。为了取得尝试该自愿性性的容许,我们可以创建一个十分相似两个codice_的有用类,并且将其中会一个codice_上标为@NonNull:
一个大是经由检查和支架基础的检查和结果:
仅仅,检查和支架基础亦会自愿性要求我们形态一个堆栈id差值的POD,例如:
可见,检查和支架基础不仅只能比对潜在的NPE,而且还亦会迫使我们遵循特定的设计要求。这在某种程度上牺牲了基础技术开发的可用性。如果您对该疑虑个人兴趣的话,可以通过如下下达克隆我为您准备的解释器:
镜像
git clone _framework_example
若要试运行检查和支架基础的话,商量应用于如下下达:
镜像
Mvn clean compile
检查和支架基础的替代方案:Intellij Idea @NotNull编者
当然,检查和支架基础并非唯一的高效率,Intellij Idea也给予了自己的编者---@NotNull和@Nullable,并映射到了IDE的插件中会。现今,我并未有找到在maven重写步骤中会添加它的法则。如果您反驳有科学知识的话,欢迎您特别版华盛顿邮报。
小结通过上述研讨,我们可以看到,避免机表头极其的法则可以论述为:
正因如此应用于Optional,而不是传递Null 应用于检查和支架基础当然,检查和支架基础亦会给您的技术开发带给一些容许。实践中会,如果您必须避免应用于Lombok、甚至是Builder Pattern(建造者方式则在)的话,我建议您基于生产厂环境的稳定性考虑,去应用于检查和支架基础。
。眼睛模糊感觉有一层雾该怎么治疗女性脱发
眼睛痒该用什么药物治疗
- 银保监会发文促进商业养老金融发展 提倡为资本市场提供支持
- 理想汽车:暂时没有涨价必要性,上次涨价已考虑未来维护费用
- 苹果产品供应告急,新款MacBookPro多平台缺货,郑州三星招工奖金翻倍
- 苹果系列产品供应告急,新款MacBookPro多平台缺货,郑州富士康招工奖金翻倍
- 申购成功却无法收取 i 茅台致歉
- 申购顺利却无法支付 i 茅台致歉
- 突发!美国“拉黑”5家中企,理由比较美国!
- 家里来侍应必做的一道菜,肥而不腻入口即化,上桌一会就被清盘
- 著名影星的百达翡丽被抢,意大利一旅游协会给出惊人促请!
- 六部门:2025年规模以上工业计量增加值能耗比2020年下降13.5%
- 家里来了阿姨,做了一把手的菜,老婆一看,立马上留下来
- 1991年苏联汇率达到7年来最高水平
- 一家人有糯米粉的试试做这个,简单复刻小时候的味道!
- 与生命铁饼,为老兵留下“红色记忆”