java - 在不获取 NullPointerException 的情况下设置 null
问题描述
if (request.getHeight() != null) {
mechEquipment.setHeight(request.getHeight());
}
if (!ObjectUtils.isEmpty(request.getCargoBoxSize())) {
mechEquipment.setCargoBoxSize(request.getCargoBoxSize());
}
我使用这样的子句来设置我的数据,但有时我需要将其设置为 null。如果我删除 if 子句,并且我没有更改项目,它会给我一个空指针异常,因为它不在 PATCH 请求中。
我怎样才能改变这个?
目前我的权重设置为 300。如果我清除前端的输入并发送它,请求将是weight = null
. 但是由于 IF 子句避免了这种情况,我不知道该怎么做。
解决方案
Java-8 提供了Optional类:该类的目的是提供一个类型级别的解决方案,用于表示可选值以及空值而不是空引用。
目前我的权重设置为 300。如果我清除前端的输入并发送它,请求将是
weight = null
. 但是由于 IF 子句避免了这种情况,我不知道该怎么做。
您可以创建如下重量:
Optional<Integer> weight = Optional.ofNullable(null); //can take weight as null also
Optional<Integer> weight = Optional.of(100); // will take any values except null
推荐阅读
- file - Ansible 查找匹配的模式目录,删除所有但保留最后 3 个版本
- python - 如何在 Django 中使用 uWSGI Spooler?
- amazon-web-services - 在创建用于执行 AWS 嵌入式 C 的 cmake 文件时遇到错误
- pytorch - AttributeError:模块“火炬”没有属性“推理模式”
- python - 如何直接在 Windows 资源管理器中使用 Python 脚本打开文件
- django - 如何解决 Django 中的 graphdoc markdown 错误
- android - 同意请求与 Google AdMob 之间的关联以展示个性化或非个性化广告
- google-apps-script - Google Apps 脚本 - 使用列名(不在 row1 中)而不是列号
- python - 如何在一个文件夹中打开多个泡菜文件
- jquery - wordpress 插件上显示/隐藏密码的问题。在手机和平板电脑上不显示密码