Tabla de Contenidos
W większości języków programowania, włączając Javę, konkatenacja odnosi się do operacji łączenia dwóch lub więcej ciągów znaków w jeden nowy, dłuższy ciąg . Można to zrobić na różne sposoby, w zależności od używanego języka programowania, a nawet w ramach tego samego języka programowania często istnieje kilka sposobów łączenia łańcuchów.
W przypadku języka programowania Java łańcuchy należą do jednego z najważniejszych typów danych o nazwie String . W Javie łańcuchy są obiektami i istnieją dwa różne sposoby ich łączenia: jeden polega na użyciu operatora dodawania lub dodawania (+), a drugi polega na użyciu metody concat() klasy String .
Zobaczmy, jak działają obie metody:
Łącz łańcuchy w Javie za pomocą operatora +
Jest to jeden z najłatwiejszych i najczęściej używanych sposobów łączenia ciągów znaków w Javie. Ta forma konkatenacji polega po prostu na umieszczeniu operatora + między łańcuchami, które mają być połączone.
Na przykład, jeśli napiszemy:
„W ten sposób łączysz łańcuchy znaków” + „w Javie”.
Wynik będzie następujący: W ten sposób łańcuchy są łączone w Javie.
Operator + umożliwia łączenie wielu kolejnych łańcuchów.
Jedną z zalet łączenia za pomocą operatora + jest to, że umożliwia łączenie wielu łańcuchów jeden po drugim. Na przykład, gdybyśmy chcieli połączyć „W ten sposób łańcuchy są łączone” z „ w Javie”. I „To bardzo proste!”, wówczas wystarczyłoby wstawić operator + między każdą parą wyrażeń:
„W ten sposób łączysz łańcuchy znaków” + „w Javie”. + „To takie proste!”
Spowoduje to powstanie ciągu, który mówi: To jest sposób łączenia ciągów w Javie. Zbyt łatwe!
Operatora + można używać w instrukcji println().
Jeśli chcesz wydrukować wynik połączenia kilku ciągów znaków, jest to tak proste, jak użycie operatora + wewnątrz instrukcji println() .
Operator + umożliwia łączenie różnych obiektów w postaci napisu.
Ważną cechą operatora + jest to, że przyjmuje jako argumenty predefiniowane zmienne, a także liczby i literały łańcuchowe (wyrażenia ujmowane w cudzysłowy, takie jak „Hello world”).
Operator osiąga to poprzez automatyczne wywołanie metody toString() podczas działania na obiektach innych niż łańcuchy, przekształcając je w łańcuchy przed połączeniem ich z resztą. W ten sposób można go wykorzystać do generowania komunikatów w postaci napisów z innych obiektów w środowisku programistycznym.
Na przykład poniższy kod definiuje kilka różnych obiektów, a następnie używa operatora + do łączenia ich w jeden ciąg znaków w celu wyświetlenia na ekranie:
Wiadomość tekstowa 1 = „W ten sposób łańcuchy są łączone”;
Komunikat tekstowy 2 = „różne obiekty.”;
Int bnum = 3;
System.out.println (wiadomość1 + „od” + numob + wiadomość2);
Uruchomienie tego kodu spowoduje wydrukowanie następującego komunikatu:
W ten sposób łańcuchy są łączone z 3 różnych obiektów.
Łącz łańcuchy znaków w Javie przy użyciu metody „concat()” klasy String
W Javie klasa obiektów String posiada metodę concat() , która wykonuje funkcję podobną do operatora +, to znaczy umożliwia łączenie jednego ciągu znaków z innym. Ma jednak pewne zasadnicze różnice w stosunku do wspomnianego operatora.
Ta metoda działa poprzez łączenie znaków drugiego String , który przyjmuje jako argument do oryginalnego String . Na przykład:
Wiadomość tekstowa 1 = „W ten sposób łańcuchy są łączone”; // to tworzywiadomość typu String1
Wiadomość tekstowa 2 = „za pomocą metody concat ().”; // to tworzykomunikat String2
wiadomość1 = wiadomość1.concat(wiadomość2); // to łączy wiadomość 1 z wiadomością 2
System.out.println (wiadomość1)
Wynik tego kodu jest taki, że zostanie wydrukowany na ekranie:
W ten sposób łączysz łańcuchy za pomocą metody concat ().
Który sposób łączenia jest preferowany w Javie?
Naturalne pytanie, gdy istnieje więcej niż jeden sposób robienia rzeczy, brzmi: „Który jest lepszy?”
Ogólnie rzecz biorąc, operator + jest bardziej wszechstronny niż metoda concat () z kilku powodów:
- Pozwala łączyć nieograniczoną liczbę obiektów, podczas gdy metoda concat pozwala łączyć tylko dwa na raz.
- Pozwala na łączenie różnych klas obiektów w jeden napis poprzez automatyczne wywołanie metody toString (), gdy zmienna lub obiekt nie jest łańcuchem. W przeciwieństwie do tego, concat można wywołać tylko na obiekcie, który jest String i przyjmuje tylko inny String jako parametr .
Z tych dwóch powodów operator + jest używany znacznie częściej niż metoda konkat . Istnieje jednak sytuacja, w której metoda konkatowa może być korzystna. W przeciwieństwie do operatora +, metoda concat nie przekształca swojego argumentu na ciąg znaków. Z tego powodu, jeśli spróbujesz połączyć obiekt, który nie istnieje, aplikacja zgłosi błąd ( NullPointerException ) i nie pozostanie to niezauważone, tak jak w przypadku użycia operatora +.