4 回答
TA贡献1831条经验 获得超9个赞
如果您正在寻找一种“更漂亮”的方式,那么这是一个适合“?”的地方。运算符(称为三元运算符)
String[] array = account.getDetails() == null? new String[]{""} : account.getDetails().split(",");
您还可以更改 getter 或 setter/constructor,以便 getDetails() 方法永远不会返回 null(因为它不会或因为它根本没有 null)。
public String getDetails() {
return details == null? "" : details;
}
TA贡献1796条经验 获得超7个赞
您可以避免调用split(String)空字符串并执行以下操作:
String[] array;
if (account.getDetails() == null) {
array = new String[0];
} else {
array = account.getDetails().split(",");
}
请注意,如果输入为 ,您的实现将返回一个带有一个空字符串的数组null,这将返回一个空数组。
正如@MarkAdelsberger 所指出的,您不应该直接在对象上更改值,这被称为上帝行为。
TA贡献1799条经验 获得超6个赞
所以这是我认为的好方法,首先你检查细节是否没有null使用?,如果不是null你只是做split并将结果分配给变量array,否则你分配空字符串数组,因为细节是null:
String details = account.getDetails();
String[] array = details != null ? details.split(",") : new String[0];
添加回答
举报