Поиск по сайту:

Узнайте, как объединить строки в Java


Работаете с текстом? Вероятно, да, поэтому вам обязательно нужно знать все об объединении строк.

Большая часть кодирования включает в себя манипулирование текстом: от языкового перевода до простого соединения слов. Java, как и большинство других языков, имеет отличную встроенную поддержку, помогающую работать со строками.

Java очень хорошо поддерживает простой случай объединения или конкатенации строк. На самом деле существует достаточно разных способов соединения текста, поэтому вам захочется узнать их различия и понять, почему вы можете использовать каждый из них.

Используйте знак +

Из всего, что вам следует знать о строках в Java, базовая конкатенация с использованием оператора + является одной из самых фундаментальных. Если у вас есть две или более строк, вы можете использовать знак +, чтобы соединить их вместе.

Вот как вы можете это сделать:

public class StringConcat_Java {
    public static void main(String[] args)
    {
        String var1 = "Hello,";
        String var2 = "My name is";
        String var3 = "Advait";
 
        System.out.println(var1 + " " + var2 + " " + var3);
    }
}

Окончательный результат выглядит следующим образом:

В приведенном выше коде у вас есть строковые значения в трех разных переменных (var1, var2 и var3), которые вы объединяете знаком +.

Пустые кавычки заключают в себе пробелы, которые можно назвать разделителем. В этом случае они действуют как пробелы между словами в последнем предложении. Функция println печатает окончательный результат в качестве последнего шага.

Объединение нескольких строк строк со знаком +

Вы можете объединить несколько строк, даже если они разбросаны по разным строкам. Для этого просто используйте знак + между каждой строкой:

public class StringConcat_Java {
    public static void main(String[] args) 
    {
        String var1 = "Hello, " +
            "My name is Advait." +
            " " +
            "I am a writer at MUO.";
 
        System.out.println(var1);
    }
}

Вот вывод приведенного выше кода:

Когда вы запускаете приведенный выше код, он объединяет все строки в один фрагмент текста.

Используйте StringBuilder

Вы также можете использовать класс StringBuilder для объединения строк в Java.

Непосредственным недостатком этого метода является то, что он использует вообще другой класс: StringBuilder, а не String. Однако вы можете легко получить объект String из StringBuilder, вызвав его метод toString(). Это происходит по умолчанию во многих контекстах.

Вы можете использовать метод append, чтобы добавить строку в конец текущего содержимого StringBuilder.

public class StringConcat_Java {
    public static void main(String[] args)
    {
        StringBuilder strn_builder = new StringBuilder();
 
        strn_builder.append("Hello,"); 
        strn_builder.append(" I'm");
        strn_builder.append(" Advait Singh"); 
 
        System.out.println(strn_builder.toString());
    }
}

Вот как выглядит результат:

Как следует из названия, функция Append() объединяет значения в конец внутренней строки StringBuilder.

Научитесь использовать функцию Concat() в Java

Эта функция проста и выполняет свою работу без проблем. Прежде чем начать использовать эту функцию, необходимо обратить внимание на следующее:

  • Вы можете использовать функцию concat только со строками.
  • С помощью этой функции вы можете соединить только две строки. Однако вы можете связать метод, поскольку он возвращает строку, поэтому код типа str1.concat(str2).concat(str3) будет работать так, как вы ожидаете.

Вот как вы можете использовать функцию concat() в Java:

public class Stringconcat_Java {
    public static void main(String[] args)
    {
        // Define the string values in var1 and var2
        String var1 = "Hello, ";
        String var2 = "My name is Advait Singh";
 
        // var3 contains the concatenated value, wherein var1 is joined with var2
        String var3 = var1.concat(var2); 
 
        // Print the final version stored in var3
        System.out.println(var3);
    }
}

Переменные var1 и var2 хранят строки, а var3 — результат их объединения. Метод concat присоединяет вторую переменную var2 к var1. Код присваивает результат concat третьей переменной, var3, и печатает его:

Использование функции формата в Java

Другой метод — функция format , которая весьма полезна для объединения строк. Это распространенная функция, доступная во многих языках программирования. Например, метод форматирования Python очень похож.

Основной синтаксис этой функции: string.format(), за которым следует описатель формата (например, %s ) и строковые значения/объекты.

public class Stringconcat_Java {
    public static void main(String[] args)
    {
        // Define the string values in the first and second variable
        String var1 = "Hello, ";
        String var2 = "My name is Advait Singh";
 
        // Use the format function to concatenate strings
        String var3 = String.format("%s%s", var1, var2); 
 
        // Print the output stored in var3
        System.out.println(var3);
    }
}

В этом примере используется спецификатор формата %s, который действует как заполнитель для строки. Поскольку аргумент формата включает в себя две строки, за ним необходимо указать ровно два строковых аргумента: в данном случае var1 и var2. Результатом является отформатированная строка, которую код выводит на консоль:

Использование метода String.join()

В Java существует множество методов работы со строками. Еще одна полезная функция — метод String.join(), который объединяет две строки. Обратите внимание, что это метод класса, а не экземпляра. Вы вызываете его в самом классе String, а не в отдельном объекте String.

Вы не ограничены объединением всего двух строк с помощью метода join. Вы можете передать любое количество строковых параметров, и соединение объединит их все, используя первый параметр — разделитель:

public class Stringconcat_Java {
    public static void main(String[] args)
    {
        // Create new strings and store them in var1 and var2 variables
        String var1 = "Hello,";
        String var2 = "My name is Advait";
 
        // Use the String.join method to combine the strings
        String var3 = String.join(" ", var1, var2); 
 
        System.out.println(var3);
    }
}

Этот код объединяет два строковых литерала, сохраняет результат в переменной var3, а затем выводит его на консоль:

Многогранные функции конкатенации строк в Java

Практические функции Java предоставляют вам множество вариантов, которые следует учитывать при выполнении простой задачи соединения строк. Рекомендуется попрактиковаться в использовании этих альтернативных подходов, чтобы понять, как они работают и в чем их различия.

Есть много общего между объединением строк в Java и в Python. Часто вы можете передавать знания о конкатенации строк между языками. Хорошим примером является синтаксис спецификаторов формата, который использует String.format. Такие языки, как Python, C и PHP, повторно используют эту концепцию и, по крайней мере, некоторые ее детали.

Статьи по данной тематике: