java - 在初始化时检查 null

标签 java variables null initialization

<分区>

我使用可以返回任何字符串或 null 的方法设置一个字符串。

我希望字符串在 null 时为 ""。所以我使用:

String mString = getMyString();
mString = mString==null ? "" : mString;

或者(效率较低,但在一行中):

String mString = getMyString() == null ? "" : getMyString();

有什么更简洁的方法吗?

编辑:我考虑过使用 if 语句:

String mString = getMyString();
if (mString == null); mString = "";

哪一个(第一个或第三个)会执行得更快?

最佳答案

许多错误会导致 null 传播。如果您指的是空字符串,最好使用空字符串。 Collection 品也一样。因此,尽早抛出 NPE。 Java SE 7 引入了(冗长、大写错误、位置不佳的)方法来执行此操作。

String mString = java.util.Objects.requireNonNull(getMyString());

关于java - 在初始化时检查 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013466/

相关文章:

javascript - 设置一个 JS 变量并在 html 标签中使用它

java - java空检查后发生NullPointerException

typescript - 将 TypeScript 接口(interface)的可选属性转换为可为 null 的属性

java - jackson 列表反序列化。嵌套列表

java - 无法使用java中的扫描器获取多个字符串输入

java - Listview自定义ListItem模板

java - 如何将 @Action 方法放置在与 Swing 组件不同的类中?

powershell - 在 Get-AzureSqlDatabaseserver、Azure、PowerShell、Variable 之后添加一列

C 变量指定为 long long 但被识别为 int

objective-c - Objective-C : if (obj) {. ..} 和 if (obj != nil) {...},哪个更好?