提问人:Arun Palanisamy 提问时间:4/2/2019 最后编辑:Arun Palanisamy 更新时间:4/12/2019 访问量:720
String.ValueOf() 在调用方法时将 NULL 替换为字符串 null
String.ValueOf() to replace NULL with string null when calling a method
问:
当我调用某个方法时,我试图用它来替换 null。但它仍然显示.这可能很简单,但我遗漏了一些东西。String.valueOf()
nullpointerexception
我有这样的声明
myvar = this.kind.name().toLowerCase()
它正在投掷.每当我得到 NPE 时,我都试图保持字符串“NULL”。所以我试过这个java.lang.NullPointerException
myvar = String.valueOf(this.kind.name().toLowerCase()) -- not working
我从其他帖子中发现它可能不起作用,因为我们的方法过载,并建议在下面使用。但它仍然不起作用。在这种情况下如何分配字符串?String.valueOf(char[])
String.valueOf(object)
null
myvar = String.valueOf((this.kind.name().toLowerCase()) null))
答:
10赞
Ashishkumar Singh
4/2/2019
#1
您应该使用
myvar = String.valueOf(this.kind.name()).toLowerCase();
不
myvar = String.valueOf(this.kind.name().toLowerCase());
作为描述的文档valueOf()
如果参数为 null,则字符串等于“null”;否则,返回 obj.toString() 的值
所以,会回来String.valueOf(this.kind.name())
"null"
评论
0赞
Arun Palanisamy
4/2/2019
谢谢,但不幸的是,它仍然抛出 NPE :(
0赞
Ashishkumar Singh
4/2/2019
调试代码并检查返回的内容String.valueOf(this.kind.name())
0赞
ChristophS
4/2/2019
@Crazy2crack:因此,添加堆栈跟踪以查看谁引发了异常
4赞
rsp
4/2/2019
#2
如果为 null,则应该能够从堆栈跟踪中确定该值。this.kind
您可以通过添加 if 条件或类似
String.valueOf(this.kind == null ? null : this.kind.name()).toLowercase()
评论
nullpointerexception
this.kind
this.kind
String.valueOf(this.kind == null ? null : this.kind.name()).toLowercase()