java - 处理来自 Bean 类的线程“main”java.lang.NullPointerException 中的异常的最佳实践
问题描述
我正在使用 Bean 类来获取/设置属性的值。Exception in thread "main" java.lang.NullPointerException
在某些情况下,由于值为 null,因此会出现gettig错误。当我们从/向 bean 类获取/设置值时,处理空指针异常的最佳实践是什么。
三元运算符好用还是有其他建议?
请在下面的代码行中找到空指针异常。
doc.setCatalog_title(sourceAsMap.get("catalog_title").toString());
解决方案
空指针异常的基本原因是您正在从空变量调用方法或变量,其中空变量是指当前未持有任何对象引用的变量。因此,避免它的简单方法是为该变量分配一个可以调用后续任务的引用
现在这可以在 n 号中处理。的方式,其中一些基本的方式是:
1) 使用 if 条件
if(doc!=null && sourceAsMap!=null && sourceAsMap.get("catalog_title")!=null)
doc.setCatalog_title(sourceAsMap.get("catalog_title").toString());
2)使用三元运算符:
doc = null == doc ? new Document():doc;
doc.setCatalog_title(sourceAsMap!=null && sourceAsMap.get("catalog_title")!=null ? sourceAsMap.get("catalog_title").toString() : null);
希望有帮助
推荐阅读
- python - 如何使用 Python 中的 socket 模块获取自己的 SSID?
- pdfa - 使用 libharu 创建 pdf/兼容的 pdf
- c# - 日期时间格式 C# 的问题
- java - ArrayLists 更好的实践
- sql - SQL如何用有效的查询替换许多“IF”
- c++ - 在 C++17 / C++20 中从 wstring 转换为 u16string 并返回(标准符合)
- python - 如何获取查询集并为每个对象获取查询集
- javascript - 如何在表格中显示随机图像
- python - 如何将 random.choice 转换为整数进行实验?
- java - Spring Data @Query 使用 VARCHAR 而不是 NVARCHAR