Vue3 + React18 + TS4 入门到实战内涵y码

#1

download:Vue3 + React18 + TS4 入门到实战内涵y码

Java中拼接字符串的几种方法
Java提供了很多拼接字符串的方法,但是有时候如果不注意空字符串,可能会把null拼接到结果中,这显然不是我们想要的。

在本文中,我们将介绍一些在拼接字符串时避免空值的方法。

问题重现
如果我们想要拼接字符串数组,我们可以简单地使用+操作符来拼接它们,但是我们可能会遇到空值。

String[] values = {“https “,”:///” www。",“wdbyte”,“。com”,null };
字符串结果= " ";

for(字符串值:值){
结果=结果+值;
}
1.
2.
3.
4.
5.
6.
这将把所有元素拼接成结果字符串,如下所示:

https://www.wdbyte.comnull
1.
但是我们发现了问题,最后一个空值被拼接成了字符串,这显然不是我们想要的。

同样,即使我们在Java 8或更高版本上运行,然后使用String.join())静态方法拼接字符串,我们仍然会得到null值的输出。

String[] values = {“https “,”:///” www。",“wdbyte”,“。com”,null };
String result = String.join(",values);
//输出:https://www.wdbyte.comnull
1.
2.
3.
让我们来看看一些防止空值被拼接的方法。我的预期输出应该是:

https://www.wdbyte.com
1.
使用+运算符
符号+可以拼接String字符串,所以我们只需要在拼接的时候做null判断,用空字符串替换null值。

for(字符串值:值){
结果=结果+(值==空?"" :值);
}
1.
2.
3.
然而,我们知道字符串是不可变的对象。使用+号会频繁创建string对象,每次都会在内存中创建一个新的字符串,所以使用+号拼接字符串的性能消耗非常高。

为了方便后续的代码演示,我们提取了一个可以传入字符串并返回非空字符串的方法。

公共字符串nullToString(字符串值){
返回值== null?"" :值;
}
1.
2.
3.
所以上面的代码可以改为调用这个方法:

for(字符串值:值){
result = result + nullToString(值);
}
1.
2.
3.
使用String.concat()
String.concat())是String类自带的方法,用这种方式拼接字符串非常方便。

for(字符串值:值){
result = result . concat(getNonNullString(value));
}
1.
2.
3.
因为调用了nullToString()方法,所以结果中没有空值。

使用StringBuilder
StringBuilder类提供了许多有用且方便的方法来构建字符串。其中,append()方法是常用的。append()用于拼接字符串,nullToString()方法用于避免空值。

String[] values = {“https “,”:///” www。",“wdbyte”,“。com”,null };
StringBuilder result = new StringBuilder();
for(字符串值:值){
result = result . append(nullToString(value));
}
1.
2.
3.
4.
5.
可以获得以下结果:

https://www.wdbyte.com
1.
使用StringJoiner类(Java 8+)
StringJoiner类提供了更强大的字符串拼接功能,不仅可以指定分隔符,还可以指定前缀和后缀。在这里,我们可以使用它的add()方法来拼接字符串。

还使用nullToString()方法来避免空值。

复制
String[] values = {“https “,”:///” www。",“wdbyte”,“。com”,null };
string joiner result = new string joiner(" ");
for(字符串值:值){
result = result . add(nullToString(value));
}