java - 注释或一些自动代码生成来设置默认值以避免 Android/Java 中的 NullPointerExceptions?

标签 java android nullpointerexception nullable gson

我想知道在 Android 中是否有任何设计模式、第三方库或任何处理 null 的注释处理器?

例如,假设您使用 Gson 解析一个 JSON 响应,并将响应字符串直接映射到一个 名为“Person”的对象 Gson 。

Now assume Person has 3 fields
1) Name
2) Age
3) Gender

并且您即将在 UI 上显示它们,我的问题是如何在显示此数据时避免 NULL 指针异常而不检查每个字段的 Null。

是否有注释处理器或任何库允许您提供空替换值?像这样

@defVal("N/A")
private String name;
@defVal(0)
private int age;
@defVal("N/A")
private String gender;

因此我们可以避免所有这些字段的空检查语句,并且在调用那里的 getter 时它提供值(如果存在)如果存在空值则提供默认值。有什么建议吗?

编辑:我知道处理空指针崩溃的两种方法

1) to use try catch 
2) to use Getters and inside every getter i should check the null value and sets a default value if there is null

但我的问题是有没有办法减少这些代码行并使用一些自动生成的东西?我相信某种注释

最佳答案

此功能仍在开发中,但您可能想试用数据绑定(bind)支持库:

http://developer.android.com/tools/data-binding/guide.html

绑定(bind)系统对 NullPointerException 有一些保护。此外,它还支持显式默认设置:

<TextView android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@{user.firstName, default=PLACEHOLDER}"/>

关于java - 注释或一些自动代码生成来设置默认值以避免 Android/Java 中的 NullPointerExceptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36334365/

相关文章:

android - 更改网格单元格的颜色

java - 如何在java中正确格式化日期

java - 什么是 NullPointerException,我该如何解决?

java - CustomArrayAdapter android 空指针异常

java - 查找一天(例如星期日或星期一)是否位于 Java 中的两个给定日期之间

java - 为什么 Tomcat7 中有 el-api.jar 而没有 jSTL 库?

java - 四叉树删除

java - 为什么我的阵列不起作用?

java - 错误 : incompatible types: View cannot be converted to Button

android - 在 Android 上获取所有联系人姓名和号码作为字符串列表