logo

Конкатенација стрингова у Јави

У Јави, стринг конкатенација формира нови стринг који је комбинација више стрингова. Постоје два начина за спајање стрингова у Јави:

  1. Оператором + (конкатенација низова).
  2. Методом цонцат().

1) Конкатенација низова помоћу оператора + (Канкатенација низова).

Јава оператор конкатенације стрингова (+) се користи за додавање стрингова. На пример:

ТестСтрингЦонцатенатион1.јава

 class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } } 
Тестирајте одмах

Излаз:

 Sachin Tendulkar 

Тхе Јава компајлер трансформише горњи код за ово:

 String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString(); 

У Јави, стринг конкатенација се имплементира кроз класу СтрингБуилдер (или СтрингБуффер) и њен метод додавања. Оператер конкатенације стрингова производи нови стринг додавањем другог операнда на крај првог операнда. Оператор конкатенације Стринг може спојити не само Стринг већ и примитивне вредности. На пример:

ТестСтрингЦонцатенатион2.јава

 class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } } 
Тестирајте одмах

Излаз:

 80Sachin4040 

Напомена: Након стринг литерала, сви + ће се третирати као оператор за спајање стрингова.

2) Конкатенација стрингова методом цонцат().

Стринг цонцат() метода спаја наведени стринг на крај тренутног стринга. Синтакса:

низ стрингова у ц програмирању
 public String concat(String another) 

Погледајмо пример Стринг цонцат() методе.

ТестСтрингЦонцатенатион3.јава

 class TestStringConcatenation3{ public static void main(String args[]){ String s1='Sachin '; String s2='Tendulkar'; String s3=s1.concat(s2); System.out.println(s3);//Sachin Tendulkar } } 
Тестирајте одмах

Излаз:

цхар у цео број јава
 Sachin Tendulkar 

Горе наведени Јава програм спаја два Стринг објекта с1 и с2 Користећи цонцат() метод и складишти резултат у с3 објекат.

Постоје неки други могући начини за спајање стрингова у Јави,

1. Конкатенација стрингова помоћу класе СтрингБуилдер

СтрингБуилдер је класа која обезбеђује метод аппенд() за обављање операције конкатенације. Метода аппенд() прихвата аргументе различитих типова као што су Објецтс, СтрингБуилдер, инт, цхар, ЦхарСекуенце, боолеан, флоат, доубле. СтрингБуилдер је најпопуларнији и најбржи начин за спајање стрингова у Јави. То је променљива класа што значи да се вредности сачуване у СтрингБуилдер објектима могу ажурирати или мењати.

СтрБуилдер.јава

 public class StrBuilder { /* Driver Code */ public static void main(String args[]) { StringBuilder s1 = new StringBuilder('Hello'); //String 1 StringBuilder s2 = new StringBuilder(' World'); //String 2 StringBuilder s = s1.append(s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Излаз:

 Hello World 

У горњем исечку кода, с1, с2 и с су декларисани као објекти од СтрингБуилдер класа. с складишти резултат спајања с1 и с2 Користећи додати () метода.

2. Конкатенација низова помоћу методе формат().

Стринг.формат() метода омогућава спајање више стрингова користећи спецификацију формата као што је %с праћен вредностима низа или објектима.

СтрФормат.јава

 public class StrFormat { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.format('%s%s',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Излаз:

 Hello World 

Овде, Стринг објекти с је додељен спојени резултат низова с1 и с2 Користећи Стринг.формат() методом. формат() прихвата параметре као спецификацију формата праћене Стринг објектима или вредностима.

3. Конкатенација стрингова коришћењем Стринг.јоин() методе (Јава верзија 8+)

Метод Стринг.јоин() доступан је у Јави верзији 8 и свим горе наведеним верзијама. Стринг.јоин() метода прихвата аргументе прво као сепаратор и низ Стринг објеката.

СтрЈоин.јава:

 public class StrJoin { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.join('',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

Излаз:

басх ако иначе
 Hello World 

У горњем исечку кода, објекат Стринг с складишти резултат од Стринг.јоин('',с1,с2) методом. Разделник је наведен унутар наводника праћених Стринг објектима или низом Стринг објеката.

4. Конкатенација стрингова помоћу класе СтрингЈоинер (Јава верзија 8+)

СтрингЈоинер класа има све функционалности Стринг.јоин() методе. Његов конструктор унапред може прихватити и опционе аргументе, префикс и суфикс.

СтрЈоинер.јава

 public class StrJoiner { /* Driver Code */ public static void main(String args[]) { StringJoiner s = new StringJoiner(', '); //StringeJoiner object s.add('Hello'); //String 1 s.add('World'); //String 2 System.out.println(s.toString()); //Displays result } } 

Излаз:

 Hello, World 

У горњем исечку кода, објекат СтрингЈоинер с је декларисана и конструктор СтрингЈоинер() прихвата вредност сепаратора. Унутар наводника је наведен сепаратор. Метод адд() додаје стрингове прослеђене као аргументе.

5. Конкатенација низова помоћу методе Цоллецторс.јоининг() (Јава (Јава верзија 8+)

Класа Цоллецторс у Јави 8 нуди метод јоининг() који спаја улазне елементе сличним редоследом како се појављују.

ЦолЈоининг.јава

 import java.util.*; import java.util.stream.Collectors; public class ColJoining { /* Driver Code */ public static void main(String args[]) { List liststr = Arrays.asList('abc', 'pqr', 'xyz'); //List of String array String str = liststr.stream().collect(Collectors.joining(', ')); //performs joining operation System.out.println(str.toString()); //Displays result } } 

Излаз:

 abc, pqr, xyz 

Овде је декларисана листа низа низова. И Стринг објекат стр складишти резултат од Цоллецторс.јоининг() методом.