Tabla de Contenidos
В повечето езици за програмиране, включително Java, конкатенацията се отнася до операцията за свързване на два или повече символни низа в един нов по-дълъг низ . Това може да се направи по различни начини в зависимост от използвания език за програмиране и дори в рамките на един и същи език за програмиране често има няколко начина за свързване на низове.
В случая на езика за програмиране Java низовете попадат в един от най-важните типове данни, наречен String . В Java низовете са обекти и има два различни начина за свързването им: единият използва оператора за добавяне или добавяне (+), а другият използва метода concat() на класа String .
Нека видим как работят и двата метода:
Свързване на низове в Java с помощта на оператора +
Това е един от най-лесните и широко използвани начини за свързване на низове в Java. Тази форма на конкатенация просто се състои от вмъкване на оператора + между низовете, които трябва да бъдат конкатенирани.
Например, ако напишем:
„Ето как свързвате низове“ + „ в Java.“
Резултатът ще бъде: Ето как низовете се свързват в Java.
Операторът + ви позволява да свържете множество последователни низове.
Едно от предимствата на конкатенацията с помощта на оператора + е, че ви позволява да свързвате множество низове един след друг. Например, ако искахме да комбинираме „Ето как низовете се свързват“ с „в Java.“ И „Много е лесно!“, тогава ще е необходимо само да поставите оператора + между всяка двойка изрази:
„Ето как свързвате низове“ + „ в Java.“ + „Толкова е лесно!“
Това ще доведе до низ, който казва: Ето как се свързват низове в Java. Твърде лесно!
Операторът + може да се използва в оператора println().
В случай, че искате да отпечатате резултата от свързването на няколко символни низа, това е толкова просто, колкото използването на оператора + в оператора println() .
Операторът + ви позволява да комбинирате различни обекти под формата на низ.
Важна характеристика на оператора + е, че той приема предварително дефинирани променливи като аргументи, както и числа и низови литерали (изрази в кавички като „Hello world“).
Операторът постига това чрез автоматично извикване на метода toString() , когато действа върху обекти, които не са низове, като ги трансформира в низове, преди да ги свърже с останалите. По този начин може да се използва за генериране на съобщения под формата на низове от други обекти в програмната среда.
Например, следният код дефинира няколко различни обекта и след това използва оператора +, за да ги свърже в един низ за отпечатване на екрана:
Съобщение за низ 1 = „Ето как се свързват низовете“;
Низово съобщение 2 = „различни обекти.“;
Int bnum = 3;
System.out.println (съобщение1 + „от“ + numob + съобщение2);
Изпълнението на този код ще отпечата следното съобщение:
Ето как низовете се конкатенират от 3 различни обекта.
Свързване на низове в Java с помощта на метода „concat()“ на класа String
В Java класът от обекти String има метода concat() , който изпълнява функция, подобна на тази на оператора +, тоест позволява един низ от знаци да бъде свързан с друг. Той обаче има някои фундаментални разлики със споменатия оператор.
Този метод работи чрез свързване на символите на втори низ , който приема като аргумент към оригиналния низ . Например:
Съобщение за низ 1 = „Ето как се свързват низовете“; // това създавасъобщение за низ1
Низово съобщение 2 = „с помощта на метода concat ().“; // това създаваString съобщение2
съобщение1 = съобщение1.concat(съобщение2); // това свързва съобщение1 със съобщение2
System.out.println (съобщение1)
Резултатът от този код е, че той ще бъде отпечатан на екрана:
Ето как свързвате низове с помощта на метода concat ().
Кой начин на конкатенация е за предпочитане в Java?
Естественият въпрос, когато има повече от един начин да се правят нещата е: „Кой е по-добрият?“
Най-общо казано, операторът + е по-гъвкав от метода concat () поради няколко причини:
- Той ви позволява да свързвате неограничен брой обекти, докато методът concat ви позволява да свързвате само два наведнъж.
- Той ви позволява да комбинирате различни класове обекти в един низ чрез автоматично извикване на метода toString (), когато дадена променлива или обект не е низ. За разлика от това, concat може да бъде извикан само на обект, който е String , и приема само друг String като параметър .
Поради тези две причини операторът + се използва много по-често от метода concat . Има обаче ситуация, в която методът concat може да бъде от полза. За разлика от оператора +, методът concat не трансформира своя аргумент в низ. Поради тази причина, ако се опитате да свържете обект, който не съществува, приложението ще изведе грешка ( NullPointerException ) и това няма да остане незабелязано, както би било, ако вместо това използвате оператора +.