Java 字符串连接

原文:https://www.studytonight.com/java-examples/java-string-concatenation

字符串连接是将多个字符串组合成一个字符串的过程。Java 提供了多种方法来执行字符串连接。让我们学习如何在 Java 中连接字符串。

Java String Concatenation

使用加法运算符连接字符串

组合或添加字符串的最简单方法是使用加法运算符。该运算符被重载以处理字符串。下面的代码演示了它的工作原理。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";

        String concatString = str1 + str2 + str3;
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串是:连接三个字符串

使用字符串生成器连接字符串

Java 中的 StringBuilder 类用于将字符串表示为可变字符数组。我们可以使用这个类的**append()**方法将另一个字符串追加(或添加到末尾)到StringBuilder中已经存在的字符串。最后,我们可以使用**toString()**方法将 StringBuilder 对象转换为字符串。我们必须创建适当大小的 StringBuilder 对象来容纳字符串。

假设,我们有三个字符串,我们想要创建第四个字符串,它是这三个字符串的组合。我们将使用下面的代码来实现这一点。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";

        StringBuilder strBuilder = new StringBuilder(40);
        strBuilder.append(str1);
        strBuilder.append(str2);
        strBuilder.append(str3);

        String concatString = strBuilder.toString();
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串是:连接三个字符串

使用String.concat()方法连接字符串

字符串类还提供了多种方法来连接字符串,其中一种方法是**String.concat()**。下面的代码将三个字符串连接成一个字符串。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Strings";

        String concatString = str1.concat(str2);
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:连接字符串

我们也可以多次使用concat()方法在一行代码中连接两个以上的字符串。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";
        String str4 = "Into";
        String str5 = "One";

        String concatString = str1.concat(str2).concat(str3).concat(str4).concat(str5);
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:连接三个字符串一个

使用String.format()方法连接字符串

字符串类的format()方法可用于将字符串格式化为单个字符串。它采用格式字符串和要连接的字符串作为参数,并返回组合字符串。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";

        String concatString = String.format("%s%s%s", str1, str2, str3);
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串是:连接三个字符串

我们还可以在字符串之间添加分隔符,并使用精度修饰符仅追加字符串的前几个字符。例如,在下面的代码中,我们添加星号作为分隔符,并且只获取第三个字符串的前三个字符。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";

        String concatString = String.format("%s*%s*%.3s", str1, str2, str3);
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:连接字符串

使用String.join()方法连接字符串

Java 8 的String.join()方法可以用来将多个字符串连接成一个字符串。我们还需要传递一个分隔符,组合字符串将使用这个分隔符来分隔原始字符串。如果我们不想添加任何其他内容,也可以传递一个空字符串作为分隔符。例如,如果要连接的字符串是“Hello”和“World”,如果我们将分隔符作为“-”传递,那么组合的字符串将是“Hello-World”。

public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";        
        String concatString = String.join("*", str1, str2, str3);        
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:连接个字符串

使用StringJoiner类连接字符串

StringJoiner类的工作方式与上面讨论的join()方法一样。它适用于 Java 8 及以上版本。我们需要初始化这个类的一个对象,并且需要向它的构造器传递一个分隔符。我们可以使用add()方法给它附加字符串。我们可以使用 toString()方法从StringJoiner对象中获取连接字符串。

import java.util.StringJoiner;
public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";

        StringJoiner sj = new StringJoiner("*");
        sj.add(str1);
        sj.add(str2);
        sj.add(str3);

        String concatString = sj.toString();        
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:连接个字符串

我们还可以向构造器传递一个可选前缀和后缀

import java.util.StringJoiner;
public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String str1 = "Concatenate";
        String str2 = "Three";
        String str3 = "Strings";

        String delimiter = "*";
        String prefix = "##";
        String suffix = "$$";
        StringJoiner sj = new StringJoiner(delimiter, prefix, suffix);        
        sj.add(str1);
        sj.add(str2);
        sj.add(str3);        
        String concatString = sj.toString();        
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:# #连接三个字符串$$

使用Arrays类连接字符串

Arrays类的toString()方法也可以用于将字符串数组转换为单个组合字符串。但是,连接字符串将包含方括号,原始字符串将由逗号分隔。例如,如果数组是{“Hello”,“Hola”,“Ola”},并且我们对它使用了 toString()方法,那么它将返回字符串“[Hello,Hola,Ola]”。

import java.util.Arrays;
public class ConcatenateStrings
{
    public static void main(String[] args)
    {
        String[] strArray = {"Concatenate", "Three", "Strings"};
        String concatString = Arrays.toString(strArray);
        System.out.println("The concatenated string is: " + concatString);
    }
}

连接字符串为:【连接,三,字符串】

摘要

在 Java 中,连接字符串非常简单。组合字符串最简单的方法是使用加法运算符。我们还有很多其他方法和类可以在 Java 中用于连接。我们还可以添加分隔符来区分连接字符串中的原始字符串。可以使用String.join()方法和StringJoiner类添加分隔符。

一个由几个字符串组成的数组可以通过Arrays.toString()方法转换成一个数组,但是我们的字符串中会出现不需要的字符。我们可以通过将字符串数组传递给 String.join()方法来连接字符串数组。