在 Java 8 之前,连接一组字符串时,需要手动编写该代码,除此之外,需要重复使用分隔符,有时它会导致几个错误,但在 Java 8 之后,我们可以使用 StringJoiner
类和 String.join()
方法连接字符串,然后可以轻松实现目标。
示例:没有 StringJoiner
类和没有 String.join()
方法
方法:
- 在这个程序中,不会使用 java 8,我们将尝试手动完成,并尝试了解字符串与分隔符连接的简单操作,需要多少更大的代码/步骤来实现我们的目标。
- 首先,将连接三个字符串“DSA”,“FAANG”,“ALGO”,分隔符将是“gfg”为此,我们需要每次在添加下一个字符串之前编写分隔符。
- 接下来,我们将连接包含字符串 “DSA”、“FAANG”、“ALGO” 的 ArrayList 元素,分隔符将是 “gfg”,为此我们需要遍历 ArrayList,然后使用分隔符添加字符串。
- 请注意,对于 i=0,我们直接将字符串 joined2 分配给 ArrayList 的第一个元素,因为如果我们不放置这个条件,那么我们将得到这样的输出“gfg DSA Yii FAANG Yii ALGO”,而实际输出在 ArrayList 的第一个元素“DSA Yii FAANG Yii ALGO”之前没有分隔符。
- 从代码中,可以看到为执行此简单任务编写了多少代码,将使用 StringJoiner 类和 String.join() 方法查找。
// Java program for joining the strings before Java8
// by simple method using '+' to concatenate
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
class YiibaiDemo {
public static void main(String[] args)
{
// Here we need to join strings "DSA","FAANG","ALGO"
// and with delimiter " Yii "
String joined = "DSA"
+ " Yii "
+ "FAANG"
+ " Yii "
+ "ALGO";
// Here we created an ArrayList of strings
// ArrayList contains "DSA","FAANG","ALGO"
ArrayList<String> gfgstrings = new ArrayList<>(
Arrays.asList("DSA", "FAANG", "ALGO"));
String joined2 = "";
// Now we will iterate over ArrayList
for (int i = 0; i < gfgstrings.size(); i++) {
// for i== 0 we do not want to add space before
// first word thats why we checked for i=0
if (i == 0) {
joined2 = gfgstrings.get(i);
}
else {
joined2 = joined2 + " Yii " + gfgstrings.get(i);
}
}
// printing the first output
System.out.println(joined);
System.out.println("--------------------");
// printing the second output
System.out.println(joined2);
}
}
运行结果:
DSA Yii FAANG Yii ALGO
--------------------
DSA Yii FAANG Yii ALGO
StringJoiner类
StringJoiner
用于构造由分隔符分隔的字符序列,可以选择以提供的前缀开头,以提供的后缀结尾。简而言之,在 StringJoiner
调用的构造函数中,可以传递三个参数分隔符、后缀、前缀。前缀将添加到字符串的开头,后缀将位于末尾。为了添加字符串,只需要在 StringJoiner 类上调用 add()
方法。
语法:
如果有后缀和前缀 -
StringJoiner joined=StringJoiner(delimiter,prefix,suffix)
joined.add(string1);
joined.add(string2);
joined.add(string3);
如果没有后缀和前缀
StringJoiner joined=StringJoiner(delimiter)
joined.add(string1);
joined.add(string2);
joined.add(string3);
方法:
如果要添加一组字符串,则需要创建 StringJoiner
类 Object 并传递分隔符、前缀、后缀。
这里的分隔符是“gfg”字符串,前缀是“[”,后缀是“]”。现在我们需要使用 add()
方法在 StringJoiner
类中添加字符串。
最后,将使用 toString()
方法将 StringJoiner
对象转换为 String
对象。
如果有字符串的 ArrayList
,分隔符是“gfg”,前缀是“[”,后缀是“]”,将迭代 ArrayList
和 StringJoiner
中的元素,然后转换为字符串对象。
最后,将打印输出。
使用StringJoiner
类连接字符串的程序:
// Java program for joining the strings
// Using StringJoiner class
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringJoiner;
class YiibaiDemo {
public static void main(String[] args)
{
// Here we need to join strings "DSA","FAANG","ALGO"\n // and with delimiter " Yii "\n StringJoiner sj
= new StringJoiner(" Yii ", "[", "]");
sj.add("DSA");
sj.add("FAANG");
sj.add("ALGO");
// Convert StringJoiner to String
String joined = sj.toString();
// Here we created an ArrayList of strings
ArrayList<String> gfgstrings = new ArrayList<>(
Arrays.asList("DSA", "FAANG", "ALGO"));
// StringJoiner class having parameters
// delimiter,prefix,suffix
StringJoiner sj2
= new StringJoiner(" Yii ", "[", "]");
// Now we will iterate over ArrayList
// and adding in string Joiner class
for (String arl : gfgstrings) {
sj2.add(arl);
}
// convert StringJoiner object to String
String joined2 = sj2.toString();
// printing the first output
System.out.println(joined);
System.out.println("--------------------");
// printing the second output
System.out.println(joined2);
}
}
运行结果:
[DSA Yii FAANG Yii ALGO]
--------------------
[DSA Yii FAANG Yii ALGO]
String.join()方法
java.lang.string.join() 方法将给定元素与分隔符连接起来,并返回串联的字符串。请注意,如果元素为 null,则添加 null。join() 方法从 JDK 1.8 开始在 java 字符串中引入。String.join() 方法采用两个参数,第一个参数是分隔符,第二个参数可以是元素的列表或数组或由 ,(逗号) 分隔的元素。
语法:
在单个元素的情况下 -
String joined=String.join("delimiter","element1","element2,"element3"...);
在列表的情况下 -
String joined2=String.join("delimiter",listObject);
返回类型:它返回使用分隔符连接的字符串
示例:
方法:使用 String.join() 方法连接字符串
在这个例子中,对于单个字符串,需要在 join() 方法中传递分隔符和字符串。这里的分隔符是“gfg”,字符串是“DSA”,“FAANG”,“ALGO”。
String.join() 将返回使用分隔符连接的字符串。
对于 ArrayList,我们只需要在连接方法 join(“ Yii ”,listObject) 中传递分隔符和列表对象,这将返回在 ArrayList 的每个元素上使用分隔符连接的字符串。
// Java program for joining the strings
// Using String.join() method
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringJoiner;
class YiibaiDemo {
public static void main(String[] args)
{
// Here we need to join strings "DSA","FAANG","ALGO"\n // and with delimiter " Yii "
String joined
= String.join(" Yii ", "DSA", "FAANG", "ALGO");
// Here we created an ArrayList of strings
ArrayList<String> gfgstrings = new ArrayList<>(
Arrays.asList("DSA", "FAANG", "ALGO"));
String joined2 = String.join(" Yii ", gfgstrings);
// printing the first output
System.out.println(joined);
System.out.println("--------------------");
// printing the second output
System.out.println(joined2);
}
}
运行结果:
DSA Yii FAANG Yii ALGO
--------------------
DSA Yii FAANG Yii ALGO
在 Java 中StringJoiner类和String.join()方法连接字符串的示例
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:在 Java 中StringJoiner类和String.join()方法连接字符串的示例
本文链接:https://www.vsdiffer.com/vs/stringjoiner-class-vs-string-join-method-to-join-string-in-java-with-examples.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。