

{"id":123451,"date":"2025-10-29T18:00:54","date_gmt":"2025-10-29T12:30:54","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=123451"},"modified":"2025-10-29T18:04:07","modified_gmt":"2025-10-29T12:34:07","slug":"string-concatenation-in-java","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/","title":{"rendered":"String Concatenation in Java"},"content":{"rendered":"<p>In Java, string concatenation is a fundamental task that joins multiple pieces of text into a single string. It&#8217;s like putting words together in various situations, like crafting friendly messages or building complex data structures. Java gives us many ways to do this. Each way has its own special features and best uses.<\/p>\n<p><strong>We&#8217;ll look at each method with examples to see how they work and when they&#8217;re most helpful:<\/strong><\/p>\n<ul>\n<li>Using the + operator<\/li>\n<li>Using the concat() method from the String class<\/li>\n<li>Using the StringBuilder class<\/li>\n<li>Using the format() method<\/li>\n<li>Using the join() method (Java 8+)<\/li>\n<li>Using the StringJoiner class (Java 8+)<\/li>\n<li>Using the Collectors.joining() method (Java 8+)<\/li>\n<\/ul>\n<p>In this article, we will explore examples of each of these string concatenation methods in Java, allowing you to choose the most suitable technique for your specific programming needs. These methods empower Java developers with a wide array of options for efficiently manipulating strings in their applications.<\/p>\n<h2>String Concatenation by + Operator<\/h2>\n<p>The simplest way to concatenate two strings is by using the + operator.<\/p>\n<p><strong>Example 1:<\/strong> Basic String Concatenation Using + Operator<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public class TestStringConcatenation1 {\r\n\r\n  public static void main(String[] args) {\r\n\r\n    String firstName = \"John\";\r\n    String lastName = \"Doe\";\r\n\r\n    String fullName = firstName + \" \" + lastName;\r\n\r\n    System.out.println(fullName);\r\n  }\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nJohn Doe<\/p>\n<p><strong>Example 2:<\/strong> Concatenating Strings and Primitive Values Using + Operator<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public class TestStringConcatenation2 {\r\n\r\n  public static void main(String[] args) {\r\n      \r\n    String name = \"John\";\r\n    int age = 26;\r\n      \r\n    System.out.println(\"My name is \" + name + \" and I am \" + age + \" years old.\");\r\n  }\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nMy name is John and I am 26 years old.<\/p>\n<p>Note that when a + operator is placed after a string literal, the compiler treats the whole expression as a String. So &#8220;My name is &#8221; + name is optimized to StringBuilder append operations.<\/p>\n<h3>String Concatenation by concat() Method in Java<\/h3>\n<p><strong>The String class provides a concat() method that can be used to concatenate two strings:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public String concat(String str);<\/pre>\n<p><strong>Example 3:<\/strong> Concatenating Two Strings Using concat()<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public class TestStringConcatenation3 {\r\n\r\n  public static void main(String[] args) {\r\n      \r\n    String firstName = \"John\";\r\n    String lastName = \"Doe\";\r\n      \r\n    String fullName = firstName.concat(\" \").concat(lastName);\r\n      \r\n    System.out.println(fullName);\r\n  }\r\n}<\/pre>\n<p>This concatenates firstName and lastName with a space using the concat() method.<\/p>\n<p><strong>Output:<\/strong><br \/>\nJohn Doe<\/p>\n<p>The concat() method can be used multiple times to concatenate more than two strings.<\/p>\n<h3>Other Ways to Concatenate Strings in Java<\/h3>\n<p><strong>There are several other classes and methods available in Java for concatenating strings:<\/strong><\/p>\n<h4>String Concatenation Using StringBuilder<\/h4>\n<p>The StringBuilder in Java represents a mutable sequence of characters. Since StringBuilder is mutable, it provides an efficient way to concatenate strings.<\/p>\n<p><strong>The key methods are:<\/strong><\/p>\n<ul>\n<li><strong>append() &#8211;<\/strong> concatenates the specified string<\/li>\n<li><strong>insert() &#8211;<\/strong> inserts the specified string at a given index<\/li>\n<\/ul>\n<p><strong>Example:<\/strong> Concatenating Strings Using append() Method<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public class StrBuilder {\r\n\r\n  public static void main(String[] args) {\r\n\r\n    StringBuilder sb = new StringBuilder();\r\n\r\n    sb.append(\"Hello \");\r\n    sb.append(\"World\");\r\n\r\n    System.out.println(sb.toString());  \r\n  }\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nHello World<\/p>\n<h4>String Concatenation Using format()<\/h4>\n<p><strong>The String class provides a static format() method that can be used for formatted string concatenation:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public static String format(String format, Object... args)<\/pre>\n<p><strong>Example:<\/strong> Concatenating Strings Using format()<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public class StrFormat {\r\n\r\n  public static void main(String[] args) {\r\n\r\n    String name = \"John\";\r\n    int age = 26;\r\n\r\n    String result = String.format(\"My name is %s and I am %d years old.\", name, age);\r\n\r\n    System.out.println(result);\r\n  }\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nMy name is John and I am 26 years old.<\/p>\n<h4>String Concatenation Using join()<\/h4>\n<p><strong>The String class provides a static join() method since Java 8 that can be used to concatenate string elements from an Iterable:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public static String join(CharSequence delimiter, Iterable&lt;? extends CharSequence&gt; elements)<\/pre>\n<p><strong>Example:<\/strong> Concatenating Strings Using join()<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import java.util.Arrays;\r\n\r\npublic class StrJoin {\r\n\r\n  public static void main(String[] args) {\r\n\r\n    String result = String.join(\"-\",\"Hello\",\"World\");\r\n\r\n    String result2 = String.join(\"-\", Arrays.asList(\"Hello\", \"World\"));\r\n\r\n    System.out.println(result);\r\n    System.out.println(result2);\r\n  }\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nHello-World<br \/>\nHello-World<\/p>\n<p>This joins &#8220;Hello&#8221; and &#8220;World&#8221; using &#8220;-&#8221; as the delimiter.<\/p>\n<h4>String Concatenation Using StringJoiner<\/h4>\n<p><strong>The StringJoiner class was also introduced in Java 8 to construct strings using a delimiter:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public final class StringJoiner<\/pre>\n<p><strong>The key methods are:<\/strong><\/p>\n<ul>\n<li><strong>add() &#8211;<\/strong> adds a new string element<\/li>\n<li><strong>merge() &#8211;<\/strong> merges another StringJoiner<\/li>\n<li><strong>toString() &#8211;<\/strong> returns the concatenated string<\/li>\n<\/ul>\n<p><strong>Example:<\/strong> Concatenating Strings Using StringJoiner<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import java.util.StringJoiner;\r\n\r\npublic class StrJoiner {\r\n\r\n  public static void main(String[] args) {\r\n  \r\n    StringJoiner joiner = new StringJoiner(\"-\");\r\n\r\n    joiner.add(\"Hello\"); \r\n    joiner.add(\"World\");\r\n\r\n    String result = joiner.toString(); \r\n\r\n    System.out.println(result);\r\n  }\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nHello-World<\/p>\n<h4>String Concatenation Using Collectors.joining()<\/h4>\n<p>The Collectors class provides a joining() method that can concatenate strings from a Stream:<\/p>\n<p><strong>Example:<\/strong> Concatenating Strings Using Collectors.joining()<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import java.util.stream.Collectors;\r\nimport java.util.stream.Stream;\r\n\r\npublic class ColJoining {\r\n\r\n  public static void main(String[] args) {\r\n\r\n    Stream&lt;String&gt; stream = Stream.of(\"Hello\", \"World\");\r\n\r\n    String result = stream.collect(Collectors.joining(\"-\"));\r\n\r\n    System.out.println(result);\r\n  } \r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nHello-World<\/p>\n<h3>Conclusion<\/h3>\n<p>In summary, Java provides multiple ways to concatenate strings, ranging from the basic + operator to more advanced options such as StringBuilder, StringJoiner, and Collectors.joining().<\/p>\n<p>The concat() method can concatenate two strings, while format() provides formatted string concatenation. For better performance with repeated concatenations, StringBuilder is recommended over basic + concatenation.<\/p>\n<p>The join() method, StringJoiner class, and Collectors.joining() were added in Java 8 to provide delimited string joining capabilities. The choice depends on the specific use case &#8211; whether a simple one-off concatenation or repeated concatenations in a loop. But Java provides flexibility for concatenating strings in different scenarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, string concatenation is a fundamental task that joins multiple pieces of text into a single string. It&#8217;s like putting words together in various situations, like crafting friendly messages or building complex data&#46;&#46;&#46;<\/p>\n","protected":false},"author":86671,"featured_media":124156,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32],"tags":[7345,31119,31120,31116,31078,8152,31118,28426,31117],"class_list":["post-123451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-java","tag-java-string-concat","tag-java-string-concat-method","tag-java-string-concatenation","tag-java-tutorials","tag-learn-java","tag-string-concat-method","tag-string-concatenation","tag-string-concatenation-in-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>String Concatenation in Java - DataFlair<\/title>\n<meta name=\"description\" content=\"Java String concatenation is a basic task that joins multiple strings into a single string. Java provides flexibility for concatenating strings in different scenarios.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"String Concatenation in Java - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Java String concatenation is a basic task that joins multiple strings into a single string. Java provides flexibility for concatenating strings in different scenarios.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-29T12:30:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-29T12:34:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/string-concatenation-in-java.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"String Concatenation in Java - DataFlair","description":"Java String concatenation is a basic task that joins multiple strings into a single string. Java provides flexibility for concatenating strings in different scenarios.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/","og_locale":"en_US","og_type":"article","og_title":"String Concatenation in Java - DataFlair","og_description":"Java String concatenation is a basic task that joins multiple strings into a single string. Java provides flexibility for concatenating strings in different scenarios.","og_url":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2025-10-29T12:30:54+00:00","article_modified_time":"2025-10-29T12:34:07+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/string-concatenation-in-java.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49"},"headline":"String Concatenation in Java","datePublished":"2025-10-29T12:30:54+00:00","dateModified":"2025-10-29T12:34:07+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/"},"wordCount":616,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/string-concatenation-in-java.webp","keywords":["Java","java string concat()","java string concat() method","java string concatenation","java tutorials","Learn Java","string concat() method","string concatenation","string concatenation in java"],"articleSection":["Java Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/","url":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/","name":"String Concatenation in Java - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/string-concatenation-in-java.webp","datePublished":"2025-10-29T12:30:54+00:00","dateModified":"2025-10-29T12:34:07+00:00","description":"Java String concatenation is a basic task that joins multiple strings into a single string. Java provides flexibility for concatenating strings in different scenarios.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/string-concatenation-in-java.webp","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/string-concatenation-in-java.webp","width":1200,"height":628,"caption":"string concatenation in java"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/string-concatenation-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Java Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/java\/"},{"@type":"ListItem","position":3,"name":"String Concatenation in Java"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49","name":"TechVidvan Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","caption":"TechVidvan Team"},"description":"TechVidvan Team provides high-quality content &amp; courses on AI, ML, Data Science, Data Engineering, Data Analytics, programming, Python, DSA, Android, Flutter, full stack web dev, MERN, and many latest technology.","url":"https:\/\/data-flair.training\/blogs\/author\/test001\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/123451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/86671"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=123451"}],"version-history":[{"count":6,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/123451\/revisions"}],"predecessor-version":[{"id":147020,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/123451\/revisions\/147020"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/124156"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=123451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=123451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=123451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}