加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 我应该在使用它们之前将我的变量初始化为null吗?

发布时间:2020-12-15 04:35:37 所属栏目:Java 来源:网络整理
导读:我看到很多SO帖子说 Java将任何未初始化的变量设置为null(如 here,here或 here ……). 但最近,我继续使用Google here编写的代码: cur = cr.query(builder.build(),INSTANCE_PROJECTION,selection,selectionArgs,null);while (cur.moveToNext()) { String ti
我看到很多SO帖子说 Java将任何未初始化的变量设置为null(如 here,here或 here ……).

但最近,我继续使用Google here编写的代码:

cur =  cr.query(builder.build(),INSTANCE_PROJECTION,selection,selectionArgs,null);
while (cur.moveToNext()) {
    String title = null;
    long eventID = 0;
    long beginVal = 0;

    // Get the field values
    eventID = cur.getLong(PROJECTION_ID_INDEX);
    beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
    title = cur.getString(PROJECTION_TITLE_INDEX);

    // Do something with the values.
    ...
}

我真的宁愿这样做:

// Get the field values
long eventID = cur.getLong(PROJECTION_ID_INDEX);
long beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
String title = cur.getString(PROJECTION_TITLE_INDEX);

我认为Google开发人员在某种程度上是合格的,所以我想知道,因为我们处于同一范围:宣布第一种方式而不是第二种方式的优缺点是什么?

解决方法

这是一个风格问题.我没有不必要地初始化,原因有两个:

>如果遇到未在所有控制路径上初始化的变量,那么Java编译器将为您提供额外检查,因为编译将不会成功.>它给人的印象是null是引用的可接受值,通常不是.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读