繁体   English   中英

String.ValueOf()在调用方法时用字符串null替换NULL

[英]String.ValueOf() to replace NULL with string null when calling a method

我在尝试调用某些方法时尝试使用String.valueOf()替换null。但是它仍然显示nullpointerexception 这可能很简单,但我缺少了一些东西。

我有这样的说法

myvar = this.kind.name().toLowerCase()   

它抛出java.lang.NullPointerException 我试图获得NPE时保持字符串“ NULL”。 所以我尝试了这个

myvar = String.valueOf(this.kind.name().toLowerCase()) -- not working

我从其他帖子中发现它可能不起作用,因为我们已经重载了方法String.valueOf(char[])String.valueOf(object)并建议在下面使用。 但仍然无法正常工作。 在这种情况下,如何分配字符串null

myvar = String.valueOf((this.kind.name().toLowerCase()) null))

您应该使用

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"

如果this.kind为null,则应该能够从this.kind中确定。

您可以通过添加if条件或类似的代码来处理这种情况

String.valueOf(this.kind == null ? null : this.kind.name()).toLowercase()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM