当前位置: 首页 > 面试题库 >

我应该将初始java字符串值从null设置为“”吗?

马欣德
2023-03-14
问题内容

我经常有这样的课程:

public class Foo
{
private String field1;
private String field2;

// etc etc etc
}

这使field1和field2的初始值等于null。让我所有的String类字段如下所示会更好吗?

public class Foo
{
private String field1 = "";
private String field2 = "";

// etc etc etc
}

然后,如果我与类定义保持一致,则可以避免很多空指针问题。这种方法有什么问题?


问题答案:

我不同意其他海报。可以使用空字符串。我更喜欢尽可能使用它。

在大多数情况下,空字符串和空字符串表示完全相同的事物-未知数据。用空字符串还是空字符串来表示是一个选择问题。



 类似资料:
  • 代码只是简单地将我的变量名设置为字符串“null”,所以我不知道如何让程序等待输入。编译器不允许我在不初始化变量的情况下声明它。

  • 问题内容: 有时,您必须使用列表推导将所有内容转换为字符串,包括字符串本身。 但是我必须要做: 我想知道是否对字符串进行了足够的优化,以至于 不会 创建该字符串的另一个副本。 我试过了: 但这可能是因为Python可以缓存字符串并重用它们。但是,对于任何字符串值,都可以保证该行为吗? 问题答案: 测试对象是否已经是字符串要比总是转换为字符串慢。 那是因为该方法也进行了完全相同的测试(对象已经是字符

  • 问题内容: 我的下面的代码当机(调试错误!R6010 abort()已被调用)。你能帮助我吗?我也想知道如何从字符串值初始化json对象。 问题答案: 您好,这很简单: 1-您需要一个CPP JSON值对象(Json :: Value)来存储数据 2-使用Json Reader(Json :: Reader)读取JSON字符串并解析为JSON对象 3-做你的东西:) 这是执行这些步骤的简单代码:

  • 我有一个正在解析的JSON字符串,我想检索字段“pr_num”的值。我收到这个错误: 我的代码如下: 我想获取字段的值,它们是690052和null。 jsonString如下所述

  • 问题内容: 目前,我正在Android应用程序中绘制PNG图像,如下所示: 如果我在数据库中有图像名称的列表,是否可以使用图像名称在上方设置可绘制对象?我已经有了遍历数据库的代码,我只是想根据从此处获取的值来绘制图像。 例如,数据库的一条记录: 因此,当我阅读该记录时,我有一个值为“ testimage”的字符串,然后我想将可绘制的图像设置为。 我想到的一种方式是这样的: 但是,这不是很有效! 谢

  • 问题内容: 我知道对于上面的第3个初始化,字符串对象在字符串池中初始化,而第4个与字符串池无关。 1.和2有 什么区别?如果我将其视为指针变量,它存储的是特定内存地址,而该内存地址从未被JVM或OS使用? 4.和5 之间有区别吗? 当我打印和通过直接和,对,我甚至无法通过compilation.For ,编译OK,我得到“空”,并在控制台窗口中的输出。为什么? @aioobe的答案后编辑:更多问题