如何在java中替换字符串的空值?

如何在java中替换字符串的空值?,java,string,Java,String,我知道这是一个愚蠢的问题,但仍然 但是我想知道是否可以替换设置为null的字符串 String str=null; String str2= str.replace('l','o'); System.out.println(str2); 目前它正在给我NullPointerException 我想知道如何替换设置为null的字符串的值 String str=null; String str2= str.replace('l','o'); System.out.println(str2)

我知道这是一个愚蠢的问题,但仍然

但是我想知道是否可以替换设置为null的字符串

String str=null;

String str2= str.replace('l','o');

System.out.println(str2);
目前它正在给我
NullPointerException

我想知道如何替换设置为null的字符串的值

String str=null;

String str2= str.replace('l','o');

System.out.println(str2);
如果是,如何进行

谢谢你的帮助。 谢谢使用
String.valueOf()

从以下文件的javadoc:

如果参数为null,则为等于“null”的字符串;否则,将返回obj.toString()的值


当然,对于一个
字符串来说,
就是它本身。

我不知道你想要实现什么,但是你可以把空字符串压缩到它上面,它就会工作

String str = null;
str += "";
String str2 = str.replace('l', 'o');

System.out.println(str2);


一旦你对字符串有了清晰的认识,请检查一下。如果str为null,str2将是一个空字符串

String str=null;

String str2= StringUtils.isEmpty(str) ? '' : str.replace('l','o');

System.out.println(str2);

str
null
,因此它引发了完全的异常。尝试初始化字符串,同时阅读有关字符串的内容。这个问题甚至没有意义。如果有空引用,则不存在可替换值的字符串。您实际上想要实现什么?如果str为null,那么您希望str2为null,那么只需测试null:
String str2=(str==null)?null:str.replace('l','o')你期望的结果是什么?@YassinHajaj:不,我真的认为不是。提供的答案并没有回答所问的问题——他们猜测OP可能试图实现的目标。他们不会对设置为
null
String
值执行替换-他们首先有效地将其转换为对
“null”
的引用,这与OP实际要求的不同。这个问题仍然没有意义,依我看。@Jon我很确定它抓住了OP的意图。不过,我的观点是:如果他勾选了这个,我会编辑Q,使其更符合这一点。问题是,当我们更多地了解OP真正想要做的事情时,我们或许能够提出更好的方法。这是一个XY问题,其中一半是非感官的:(欢迎使用Stack Overflow!通常情况下,如果答案中包含对代码意图的解释,以及在不引入其他内容的情况下解决问题的原因,那么答案会更有帮助。@bohemian您所说的方式实际上是正确的。Jon skeet也是正确的,因为我分配了一个空引用,没有字符串来替换值。