Java 将空字符串替换为空字符串

Java 将空字符串替换为空字符串,java,regex,string,replace,Java,Regex,String,Replace,我有个小问题,但我很难解决 我构建了一个字符串,它是一些对象属性的集合,由|构造和分隔。但每当我有一些null属性时,它就会继续打印null,我想用空字符串替换null 例如,对于输入 ADS||abc||null||null 我希望它变成 ADS||abc|||| 我试过这两种,但都不管用: string.replace(null,"") string.replace("null","") 有人能帮忙吗?由于字符串是不可变的,您应该将字符串变量分配给replace方法的结果 String

我有个小问题,但我很难解决

我构建了一个字符串,它是一些对象属性的集合,由
|
构造和分隔。但每当我有一些
null
属性时,它就会继续打印
null
,我想用空字符串替换
null

例如,对于输入

ADS||abc||null||null
我希望它变成

ADS||abc||||
我试过这两种,但都不管用:

string.replace(null,"")
string.replace("null","")

有人能帮忙吗?

由于字符串是不可变的,您应该将字符串变量分配给
replace
方法的结果

String str = "ADS||abc||null||null to become ADS||abc||||";
str = str.replace("null", "");
System.out.println(str);
输出:

ADS||abc|||| to become ADS||abc||||

你是说下面的代码

String[] names = new String("ADS||abc||null||null to become ADS||abc||||").split("\\|\\|");
List<String> list = new ArrayList<>();
for (String name : names) {
    list.add(name.replace("null", ""));
}
String[]names=新字符串(“ADS | | abc | | null | | | null变为ADS | | abc | | | |”)。拆分(“\\\\\\\\\\\\”;
列表=新的ArrayList();
for(字符串名称:名称){
list.add(name.replace(“null”和“));
}
这很好用

public static void main(String[] args) {
        String s = "ADS||abc||null||null";
        s = s.replace("null", "");
        System.out.println(s);
    }
输出

ADS||abc||||

您忘记了字符串是不可变的,请将其添加到代码中:

String string = string.replace("null","");

不,它应该是| | | | | | | | | | | | | |您是否将字符串设置为
replace()
的结果?例如,
string=string.replace(“null”和“”)
(您需要这样做,因为字符串是不可变的)如上所述,Java
string
对象是不可变的。您可以基于现有字符串创建新字符串,但无法更改现有的
字符串本身。谢谢!我忘记了这个简单而愚蠢的错误,它起作用了。谢谢大家。这是一个问题,如果字符串为空,我们只需要做一些验证,用“”替换它,而不是替换“空”。但现在,它工作得很好。还有其他更简单的方法吗?谢谢大家提出这个问题