String concat() in java with example


Java String concat() method. Learn concat() method in Java with example in java.lang.String package and its internal implementation. Learn about String class methods usage.

String concat() method in java with example:

concat() method is present in the java.lang.String class. concat() method concatenate the given string at a time. This method concatenates the specified string to the end of this string and returns a new string with the new value. This mehtod can be used to concatenate multiple strings one by one. This method can be called multiple times on the string.


public String concat​(String str)

Return value: String

String concat() in java with example

A string that represents the concatenation of this object's characters followed by the string argument's characters.

In Java 8, a new method join() is introduced. String join() method example to concatenate the given string with a delimiter.

String concat() method example 1:

In this example, we will see how to concat the two strings.

package examples.java.w3schools.string;

public class StringConcatExample {
 public static void main(String[] args) {

  String value1 = "java";
  String value2 = "w3schools";
  System.out.println("Value1 and value2 values before concatenating");
  System.out.println("Value1 : " + value1);
  System.out.println("Value2 : " + value2);

  value2 = value1.concat(value2);

  System.out.println("Value2 after concatenating value1: " + value2);

Here, We can observe that new value2 is appended to value1 at end. Please refer the following output.


Value1 and value2 values before concatenating
Value1 : java
Value2 : w3schools
Value2 after concatenating value1: javaw3schools


String concat() method example 2:

In example 2, We will see how to concat multiple strings at a time. Previously, we have seen how to add at the end of the string for  a single string.

package examples.java.w3schools.string;

public class StringConcatExample2 {
 public static void main(String[] args) {

  String string1 = "java";
  String string2 = "-";
  String string3 = "w3schools";
  String string4 = " blog";

  String finalString = string1.concat(string2).concat(string3).concat(string4);

  System.out.println("Concatenating multiple strings: " + finalString);


Concatenating multiple strings: java-w3schools blog


String concat() method example 3:

In example 3, We will learn how to concat a string in different way at the beginning of the string.

public class StringConcatExample3 {
 public static void main(String[] args) {

  String string1 = "java-w3schools";
  String finalString = "blogspot.com".concat(string1);
  System.out.println("Concatenating at begining of existing string: " + finalString);


Concatenating at begining of existing string: blogspot.comjava-w3schools


String concat() method example 4:

If the string2 length is ZERO then original string1 will be returned.

  String str3 = "hello";
  String str4 = "";
  str3 = str3.concat(str4);
  System.out.println("If second string length is 0: " + str3);
  System.out.println("str3.equals(str4) :: " + str3.equals(str4));


Concatenating at begining of existing string: blogspot.comjava-w3schools

String concat() method Internal Implementation:

We will see now how concat method is implemented internally or how concat works internally.

below is the internal code.

public String concat(String str) {
        int olen = str.length();
        if (olen == 0) {
            return this;
        if (coder() == str.coder()) {
            byte[] val = this.value;
            byte[] oval = str.value;
            int len = val.length + oval.length;
            byte[] buf = Arrays.copyOf(val, len);
            System.arraycopy(oval, 0, buf, val.length, oval.length);
            return new String(buf, coder);
        int len = length();
        byte[] buf = StringUTF16.newBytesFor(len + olen);
        getBytes(buf, 0, UTF16);
        str.getBytes(buf, len, UTF16);
        return new String(buf, UTF16);


Here are the steps performed internally for every time concat() method is invoked.


Remember: In java 8, String uses byte[] to store the characters (not char[] array).

1) Checks the length of str2. If str2 length is 0 then return str1.
2) Checks the coder value of both strings. Gets lengths of both strings.
   Creating new byte array with new length.
   newLength = str1.length() + str2.length();
   Copying the values of str1 into new byte array using Arrays.copyOf(str1, newLength);
   Then copying str2 into new byte array by using System.arraycopy(str2, 0, new array, str1.length, str2.length);
   Retrun new byte array as string.

3) If coder values different then
   Creats a new byte array using StringUTF16.newBytesFor(str1.length + str2.length)
   loads the data into new byte array as per UTF16 format.
   Retrun new byte array new String(buf, UTF16);

Please post your questions in comments section.



About Us

Author: Venkatesh - I love to learn and share the technical stuff.

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
JavaProgramTo.com: String concat() in java with example
String concat() in java with example
Java String concat() method. Learn concat() method in Java with example in java.lang.String package and its internal implementation. Learn about String class methods usage.
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content