{"id":79049,"date":"2020-06-12T10:00:18","date_gmt":"2020-06-12T04:30:18","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=79049"},"modified":"2020-06-12T10:00:18","modified_gmt":"2020-06-12T04:30:18","slug":"stringbuilder-vs-stringbuffer-in-java","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/","title":{"rendered":"StringBuilder vs StringBuffer in Java"},"content":{"rendered":"<p>In our Java Article series, we have already talked about strings a lot of times. A programmer who has just begun programming in Java uses string to print something in the console window.<\/p>\n<p>Java provides three classes related to String: <strong>String, StringBuffer, and StringBuilder.<\/strong> We all know the famous line<strong><em> System.out.println(&#8220;Here we put our String&#8221;)<\/em> <\/strong>that all the java programmers use to print the string on the console.<\/p>\n<p>Many programmers who begin programming in Java don&#8217;t know that String is immutable in Java. Every time you perform a change in the String, it results in a new String object creation.<\/p>\n<p>Initially, the class that was used to transform the String was StringBuffer but after this Java introduced a new class called <strong>StringBuilder. <\/strong><\/p>\n<p>In this article, firstly we will learn about each of these classes and then we will learn StringBuilder vs StringBuffer to understand comparison between StringBuffer and StringBuilder.<\/p>\n<p>Let&#8217;s get into the programming paradigm of these classes.<\/p>\n<h3>What is a StringBuffer Class in Java?<\/h3>\n<p>Java StringBuffer class was firstly introduced in Java 1.0v and the principle use of this class was to transform the mutable String. But after introducing the class and using it in multiple threads many problems started arising.<\/p>\n<p>This class contains public methods which are Synchronized. The public method that can&#8217;t be used at the same time or simultaneously in different threads is known as <strong>Synchronized Methods<\/strong>.<\/p>\n<p>The only powerful disadvantage of StringBuffer Class is Synchronized Methods. But when using the StringBuffer class, we can ensure the thread safety in our system.<\/p>\n<h3>What is a StringBuilder Class in Java?<\/h3>\n<p>Java StringBuilder Class eliminates the StringBuffer only because of the multithreading purpose.<\/p>\n<p>The StringBuilder class was introduced in Java 1.5v after StringBuffer class having an additional functionality of non-synchronized methods so that multiple threads can be allowed to use StringBuilder objects.<\/p>\n<p>This results in the risk of Thread safety if the user runs the same method at many places at the same time. But, the StringBuilder class is more preferable to use as it works efficiently in a multithreaded environment.<\/p>\n<p>Below are some points in which some are common for both the class and some are different.<\/p>\n<table style=\"height: 235px\" width=\"690\">\n<tbody>\n<tr>\n<td><b>Parameter<\/b><\/td>\n<td><b>StringBuffer<\/b><\/td>\n<td><b>StringBuilder<\/b><\/td>\n<\/tr>\n<tr>\n<td><b>Storage Area<\/b><\/td>\n<td><span style=\"font-weight: 400\">Heap<\/span><\/td>\n<td><span style=\"font-weight: 400\">Heap<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Mutability<\/b><\/td>\n<td><span style=\"font-weight: 400\">Yes<\/span><\/td>\n<td><span style=\"font-weight: 400\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Thread Safety<\/b><\/td>\n<td><span style=\"font-weight: 400\">Yes<\/span><\/td>\n<td><span style=\"font-weight: 400\">No<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Speed<\/b><\/td>\n<td><span style=\"font-weight: 400\">Very Slow<\/span><\/td>\n<td><span style=\"font-weight: 400\">Fast<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>StringBuilder vs StringBuffer class in Java<\/h3>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/06\/StringBuffer-vs-StringBuilder.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79058\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/06\/StringBuffer-vs-StringBuilder.jpg\" alt=\"StringBuilder vs StringBuffer\" width=\"802\" height=\"420\" \/><\/a><\/p>\n<p><strong>1.<\/strong> StringBuffer class was introduced with the introduction of Java but the StringBuilder class was added in Java with the Java 1.5 version.<\/p>\n<p><strong>2.<\/strong> The StringBuffer class is synchronized and contains the synchronized methods like append(), delete(), and insert(). On the other hand, the StringBuilder class is not synchronized.<\/p>\n<p><strong>3.<\/strong> The StringBuffer class ensures thread safety due to the presence of synchronized methods but the StringBuilder is not thread-safe because there are no synchronized methods in the StringBuilder class.<\/p>\n<p><strong>4.<\/strong> If we want to perform String operations in a non-multithreaded environment, then we should use the StringBuilder class and if we want to perform String manipulations in the multithreaded environment, then we should use the StringBuffer class.<\/p>\n<p><strong>5.<\/strong> Since the StringBuffer class has synchronized methods, it performs very slowly as compared to the StringBuilder class.<\/p>\n<p>Most experts prefer to use the StringBuilder class until you are working in a multithreaded environment because it is fast and there is no need to care about thread safety and synchronization while using the StringBuilder class.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong> S No.<\/strong><\/td>\n<td><strong>StringBuffer Class in Java<\/strong><\/td>\n<td><strong>StringBuilder Class in Java<\/strong><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Every String in the StringBuffer object is modifiable i.e. mutable.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Every string in the StringBuilder is also modifiable i.e. mutable.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Thread safety is provided by StringBuffer public methods.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Thread safety can be violated in the StringBuilder public methods<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Introduced in Java 1.0v<\/span><\/td>\n<td><span style=\"font-weight: 400\">Introduced in Java 1.5v<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">4.<\/span><\/td>\n<td><span style=\"font-weight: 400\">At a time StringBuffer objects allow only one thread to use the StringBuffer object which directly affects the thread-safety measures.<\/span><\/td>\n<td><span style=\"font-weight: 400\">At a time StringBuilder object allows multiple threads to use the StringBuilder object which directly thread safety and can violate the safety.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">5.<\/span><\/td>\n<td><span style=\"font-weight: 400\">In this, if multiple threads want to access a single StringBuffer object then they need to wait that affects the relative execution time.<\/span><\/td>\n<td><span style=\"font-weight: 400\">In this, if multiple threads want to access a single StringBuilder object then they can use it simultaneously which increases the performance.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">6.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Performance is very low as compare to StringBuilder<\/span><\/td>\n<td><span style=\"font-weight: 400\">Performance is very high in compression with StringBuffer<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">7.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Allocation of the object is in Heap<\/span><\/td>\n<td><span style=\"font-weight: 400\">Allocation of the object is also in Heap<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">8.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Example:<\/span><\/p>\n<p><span style=\"font-weight: 400\">class StringBufferDemo<\/span><\/p>\n<p><span style=\"font-weight: 400\">{<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0public static void main(String [ ] args)<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0{<\/span><\/p>\n<p><span style=\"font-weight: 400\">StringBuffer sbuffer = new StringBuffer(\u201cTech\u201d);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sbuffer.append(\u201cvidvan\u201d);<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(sbuffer);<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400\">}<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Output:<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Techvidvan<\/span><\/td>\n<td><span style=\"font-weight: 400\">Example:<\/span><\/p>\n<p><span style=\"font-weight: 400\">class StringBuilderDemo<\/span><\/p>\n<p><span style=\"font-weight: 400\">{<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0public static void main(String [ ] args)<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0{<\/span><\/p>\n<p><span style=\"font-weight: 400\">StringBuilder sbuild = new \u00a0 \u00a0 StringBuilder(\u201cTech\u201d);\u00a0 <\/span> <span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span> <span style=\"font-weight: 400\"> \u00a0 \u00a0 \u00a0 sbuilder.append(\u201cvidvan\u201d); <\/span> <span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(sbuilder);<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400\">}<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Output:<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Techvidvan<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Code to understand Java StringBuffer vs StringBuilder class:<\/strong><\/p>\n<p><strong>Performance Program:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">package com.techvidvan.stringclasses;\npublic class PerformanceSpeed {\n  public static void main(String[] args) {\n    long startingTime = System.currentTimeMillis();\n    StringBuffer sbuffer = new StringBuffer(\"Tech\");\n    for (int i = 0; i &lt; 1000; i++) {\n      sbuffer.append(\"vidvan\");\n    }\n    System.out.println(\"Time consumed by StringBuffer: \" + (System.currentTimeMillis() - startingTime) + \"milliseconds\");\n    startingTime = System.currentTimeMillis();\n    StringBuilder sbuilder = new StringBuilder(\"Tech\");\n    for (int i = 0; i &lt; 1000; i++) {\n      sbuilder.append(\"vidvan\");\n    }\n    System.out.println(\"Time consumed by StringBuilder: \" + (System.currentTimeMillis() - startingTime) + \"milliseconds\");\n  }\n}<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<div class=\"code-output\">Time consumed by StringBuffer: 2 milliseconds<br \/>\nTime consumed by StringBuilder: 1 milliseconds<\/div>\n<p>From the above output, we can easily conclude that the StringBuffer takes more time as compared to the StringBuilder class.<\/p>\n<p>This output may vary from machine to machine and even the output may be different if you compile it several times.<\/p>\n<h4>String to StringBuffer and StringBuilder<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">package com.techvidvan.stringclasses;\npublic class Demo {\n  public static void main(String[] args) {\n    StringBuffer sbuffer = new StringBuffer(\"TechVidvan\");\n    StringBuilder sbuilder = new StringBuilder(\"Java\");\n    String str1 = sbuffer.toString();\n    System.out.println(\"StringBuffer object to String: \");\n    System.out.println(str1);\n    String str2 = sbuilder.toString();\n    System.out.println(\"StringBuilder object to String: \");\n    System.out.println(str2);\n    sbuffer.append(\" Tutorial\");\n    System.out.println(\"Appending to StringBuffer: \" + sbuffer);\n    System.out.println(\"StringBuffer String: \" + str1);\n\n  }\n}<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<div class=\"code-output\">StringBuffer object to String:<br \/>\nTechVidvan<br \/>\nStringBuilder object to String:<br \/>\nJava<br \/>\nAppending to StringBuffer: TechVidvan Tutorial<br \/>\nStringBuffer String: TechVidvan<\/div>\n<h3>Conclusion<\/h3>\n<p>In conclusion, we saw the difference between both the classes related to String which are StringBuffer class and the StringBuilder class.<\/p>\n<p>Both are mutable, unlike the String class that is once they are created they can be changed. The only major parameter that differentiates both these classes is the presence of synchronized methods.<\/p>\n<p>The StringBuffer is synchronized while the StringBuilder is not synchronized. We can use the StringBuffer class while working in a multithreaded environment.<\/p>\n<p>We have discussed StringBuilder vs StringBuffer with examples.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our Java Article series, we have already talked about strings a lot of times. A programmer who has just begun programming in Java uses string to print something in the console window. Java&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":79058,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[183],"tags":[2837,2838,2839,2829,2840,2841,2842],"class_list":["post-79049","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-difference-between-stringbuffer-and-stringbuilder","tag-difference-between-stringbuffer-and-stringbuilder-in-java","tag-java-stringbuilder-vs-stringbuffer","tag-string-buffer-and-string-builder","tag-stringbuffer-vs-stringbuilder","tag-stringbuffer-vs-stringbuilder-in-java","tag-stringbuilder-vs-stringbuffer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>StringBuilder vs StringBuffer in Java - TechVidvan<\/title>\n<meta name=\"description\" content=\"Learn Stringbuilder vs Stringbuffer to understand difference between stringbuffer and stringbuilder class in java with practical implementation\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"StringBuilder vs StringBuffer in Java - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Learn Stringbuilder vs Stringbuffer to understand difference between stringbuffer and stringbuilder class in java with practical implementation\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-12T04:30:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/06\/StringBuffer-vs-StringBuilder.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\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=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"StringBuilder vs StringBuffer in Java - TechVidvan","description":"Learn Stringbuilder vs Stringbuffer to understand difference between stringbuffer and stringbuilder class in java with practical implementation","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:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/","og_locale":"en_US","og_type":"article","og_title":"StringBuilder vs StringBuffer in Java - TechVidvan","og_description":"Learn Stringbuilder vs Stringbuffer to understand difference between stringbuffer and stringbuilder class in java with practical implementation","og_url":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2020-06-12T04:30:18+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/06\/StringBuffer-vs-StringBuilder.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"StringBuilder vs StringBuffer in Java","datePublished":"2020-06-12T04:30:18+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/"},"wordCount":953,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/06\/StringBuffer-vs-StringBuilder.jpg","keywords":["difference between stringbuffer and stringbuilder","difference between stringbuffer and stringbuilder in java","java stringbuilder vs stringbuffer","string buffer and string builder","stringBuffer vs stringbuilder","stringbuffer vs stringbuilder in java","stringbuilder vs stringbuffer"],"articleSection":["Java Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/","url":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/","name":"StringBuilder vs StringBuffer in Java - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/06\/StringBuffer-vs-StringBuilder.jpg","datePublished":"2020-06-12T04:30:18+00:00","description":"Learn Stringbuilder vs Stringbuffer to understand difference between stringbuffer and stringbuilder class in java with practical implementation","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/06\/StringBuffer-vs-StringBuilder.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/06\/StringBuffer-vs-StringBuilder.jpg","width":802,"height":420,"caption":"StringBuilder vs StringBuffer"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/stringbuilder-vs-stringbuffer-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"StringBuilder vs StringBuffer in Java"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/79049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=79049"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/79049\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/79058"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=79049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=79049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=79049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}