如果构造函数值为空,我可以给它一个默认值吗?

约书亚贝斯特

我正在使用回收器视图在我的应用程序上显示数据。当我想从我正在使用的 API 中获取信息时,我将接收 14 个不同的变量。

for(int i = 0; i<array.length();i++){
    JSONObject object = array.getJSONObject(i);

    //object.getJSONObject("test");

    Personnel personnel = new Personnel(

            object.getInt("contactType"),
            object.getString("currentTime"),
            object.getString("clockIn"),
            object.getString("clockOut"),
            object.getInt("isClockedIn"),
            object.getString("clockInPhotoName"),
            object.getDouble("clockInLat"),
            object.getDouble("clockInLng"),
            object.getDouble("clockOutLat"),
            object.getDouble("clockOutLng"),
            object.getDouble("projectSiteLat"),
            object.getDouble("projectSiteLng"),
            object.getDouble("clockInDistanceFromProjectSiteInMetres"),
            object.getDouble("clockOutDistanceFromProjectSiteInMetres")
    );

    personnelList.add(personnel);
}

但是在我的 http 调用的响应正文中,例如有时,调用“isClockedIn”的对象可能是空的,如果我这样做,那么我的构造函数就不会创建一个对象。

这是我很长的构造函数:

public Personnel(int contactType, String totalTimeSummary, String clockInTime, String clockOutTime, int isClockedIn, String clockInPhotoName, double clockInLat, double clockInLong, double clockOutLat, double clockOutLong, double projectLat, double projectLong, double clockInDistance, double clockOutDistance) {
    this.contactType = contactType;
    this.totalTimeSummary = totalTimeSummary;
    this.clockInTime = clockInTime;
    this.clockOutTime = clockOutTime;
    this.isClockedIn = isClockedIn;
    this.clockInPhotoName = clockInPhotoName;
    this.clockInLat = clockInLat;
    this.clockInLong = clockInLong;
    this.clockOutLat = clockOutLat;
    this.clockOutLong = clockOutLong;
    this.projectLat = projectLat;
    this.projectLong = projectLong;
    this.clockInDistance = clockInDistance;
    this.clockOutDistance = clockOutDistance;
}

我环顾四周,看到如果我的另一个构造函数没有填充所有需要的变量,你可以只创建一个默认构造函数,但我当然不想这样做,因为所有参数都将为空。

干杯。

Zun

您可以使用 optDouble,而不是调用 getDouble。第一个值应该是您已经在使用的键,第二个值应该是当从服务器响应中找不到该键时将使用的值。

你可以在这里找到一些真实世界的例子:https : //www.programcreek.com/java-api-examples/?class=org.json.JSONObject&method=optDouble

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我应该给它一个默认值还是使其可为空?

来自分类Dev

我可以在一个命令中为表sql中的两列设置默认值吗?

来自分类Dev

如果找不到字符串,是否可以给它一个空值

来自分类Dev

如何添加默认构造函数并使它调用另一个构造函数并使用默认值?

来自分类Dev

Vue Chart.js——我可以给折线图一个缺失数据的默认值吗?

来自分类Dev

如果一个函数已经返回某些东西,如何防止该函数的默认值

来自分类Dev

我可以通过其基类的默认构造函数实例化一个结构体吗?

来自分类Dev

为我的下拉列表设置一个默认值,该默认值是从数据库填充的

来自分类Dev

从另一个xml为空节点设置默认值

来自分类Dev

为创建和更新的日期列设置默认值是一个好习惯吗?

来自分类Dev

始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器没有将其设置为默认值?

来自分类Dev

始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器未将其设置为默认值?

来自分类Dev

C#记录构造函数参数默认值为空IEnumerable

来自分类Dev

如何将微调器中的第一个值(默认值)设置为空

来自分类Dev

在Excel中,如果我的公式返回#NA,我可以提供“默认值”吗?

来自分类Dev

如何用另一个函数更改一个函数的默认值?

来自分类Dev

我可以只从声明中生成一个简单的构造函数吗?

来自分类Dev

如果路径值为空,则设置默认值

来自分类Dev

如果 API 值为空,则显示默认值

来自分类Dev

我可以从 C# 中另一个类的构造函数调用构造函数吗?

来自分类Dev

为Scala类制作一个空的构造函数

来自分类Dev

参数的默认值可以取决于打字稿中的另一个参数吗

来自分类Dev

我可以实例化一个变量,但以后再给它赋值吗?

来自分类Dev

如何在我可以给它一个参数的地方制作这个函数

来自分类Dev

MobX-在商店构造函数中使用fromPromise承诺的可观察值在另一个商店中访问时保持为空吗?

来自分类Dev

我可以给这样的默认值以避免空指针异常吗?

来自分类常见问题

如果env var为空,如何分配默认值?

来自分类Dev

如果字符串为空,则使用默认值

来自分类Dev

如果变量为空,则设置默认值

Related 相关文章

  1. 1

    我应该给它一个默认值还是使其可为空?

  2. 2

    我可以在一个命令中为表sql中的两列设置默认值吗?

  3. 3

    如果找不到字符串,是否可以给它一个空值

  4. 4

    如何添加默认构造函数并使它调用另一个构造函数并使用默认值?

  5. 5

    Vue Chart.js——我可以给折线图一个缺失数据的默认值吗?

  6. 6

    如果一个函数已经返回某些东西,如何防止该函数的默认值

  7. 7

    我可以通过其基类的默认构造函数实例化一个结构体吗?

  8. 8

    为我的下拉列表设置一个默认值,该默认值是从数据库填充的

  9. 9

    从另一个xml为空节点设置默认值

  10. 10

    为创建和更新的日期列设置默认值是一个好习惯吗?

  11. 11

    始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器没有将其设置为默认值?

  12. 12

    始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器未将其设置为默认值?

  13. 13

    C#记录构造函数参数默认值为空IEnumerable

  14. 14

    如何将微调器中的第一个值(默认值)设置为空

  15. 15

    在Excel中,如果我的公式返回#NA,我可以提供“默认值”吗?

  16. 16

    如何用另一个函数更改一个函数的默认值?

  17. 17

    我可以只从声明中生成一个简单的构造函数吗?

  18. 18

    如果路径值为空,则设置默认值

  19. 19

    如果 API 值为空,则显示默认值

  20. 20

    我可以从 C# 中另一个类的构造函数调用构造函数吗?

  21. 21

    为Scala类制作一个空的构造函数

  22. 22

    参数的默认值可以取决于打字稿中的另一个参数吗

  23. 23

    我可以实例化一个变量,但以后再给它赋值吗?

  24. 24

    如何在我可以给它一个参数的地方制作这个函数

  25. 25

    MobX-在商店构造函数中使用fromPromise承诺的可观察值在另一个商店中访问时保持为空吗?

  26. 26

    我可以给这样的默认值以避免空指针异常吗?

  27. 27

    如果env var为空,如何分配默认值?

  28. 28

    如果字符串为空,则使用默认值

  29. 29

    如果变量为空,则设置默认值

热门标签

归档