在這篇文章中,我們將詳細解釋java字串連接。此外,我們還將看到在 java 中連接兩個或多個字串的不同方式。我們還將看到java中字串連接的效能。此外,還會有展示java字串連接的java程式碼範例。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
Java 字串連接可以定義為將兩個或多個字串連接在一起形成新字串的過程。以下是java連接字串的不同方式:
這是連接 java 字串的最簡單方法。使用 + 運算符,我們可以組合多個字串。需要注意的一件重要事情是,使用 + 運算子連接後獲得的 String 將是一個新的 String,指向 java 堆中的新記憶體位置。如果池中存在字串對象,則傳回相同的字串對象;否則,它會建立一個新對象。以下是使用 + 運算子連接字串時要記住的最重要的事情:
這是一種更有效的連接 java 字串的方法。使用字串緩衝區連接字串不會建立結果字串的新物件。與使用 + 運算子相比,使用 String Buffer 可以節省大量記憶體空間。當使用字串緩衝區進行字串連接時,初始化字串緩衝區對象,其指定容量等於最終連接字串中的字元數。這將導致有效的記憶體使用以及節省調整字元大小期間所花費的時間。使用字串緩衝區進行字串連接的唯一缺點是其中涉及的同步開銷,因為字串緩衝區是執行緒安全的。
這是連接 Java 字串最有效的方法。使用字串建構器連接字串不會建立結果字串的新物件。與使用 + 運算子相比,使用字串產生器可以節省大量記憶體空間。當使用字串產生器進行字串連接時,使用等於最終連接字串中的字元數的指定容量初始化字串產生器物件。這將導致有效的記憶體使用以及節省調整字元大小期間所花費的時間。使用字串產生器被認為比使用字串緩衝區更好,因為使用字串產生器時不涉及同步開銷。
這是使用上面描述的字串緩衝區或字串產生器附加方法在內部實現的。
從前面描述的四字串連接方法來看,當需要連接的字串較少時,首選使用 + 運算子。但隨著要連接的字串數量變大,+ 運算子的效能會下降,並且由於字串不可變性而創建大量物件。當要連接多個字串時,首選字串產生器,因為它提供字串可變性。
文法:
這是java字串連接的基本語法:
1。使用 + 運算子:
// method accepting strings to be concatenated public String concatString(String s1, String s2){ String s3= s1+s2; // using + operator return s3; }
2。使用 String.concat() 方法:
public String concatString(String s1){ String s= "First"; String s2=s.concat(s1); // using concat method return s2; }
3。使用 StringBuffer:
StringBuffer sb= new StringBuffer(capacity); // create string buffer instance sb.append("first").append(" ").append("second"); // call append method specifying string to be concatenated
4。 使用 StringBuilder:
StringBuilder sb= new StringBuilder(capacity); // create string builder instance sb.append("first").append(" ").append("second"); // call append method specifying string to be concatenated
以下是範例:
讓我們來看一個使用 + 運算子和 concat () 方法進行字串連接的基本範例。
代碼:
package com.edubca.stringconcatenation; public class StringconcatDemo{ public static void main(String args[]){ String s1= "This"; String s2= "Is"; String s3= "Edubca"; String s4="Training"; // Using + operator String concatenatedstr= s1 + " " + s2 +" " + s3 + " " + s4; System.out.println("String after concatenation is :: " + concatenatedstr); //using concat method String concatenatedstr1= s1.concat(" ").concat(s2).concat(" ").concat(s3).concat(" ").concat(s4); System.out.println("String after concatenation using concat method is :: " + concatenatedstr1); } }
輸出:
在這個例子中,我們將看到如何使用 java 中的字串緩衝區來實現字串連接。
代碼:
package com.edubca.stringconcatenation; public class StringconcatDemo{ public static void main(String args[]){ String s1= "This"; String s2= "Is"; String s3= "Edubca"; String s4="Training"; // create StringBuffer Instance StringBuffer sb=new StringBuffer("Edubca"); //call append method for string concatenate StringBuffer concatenatedstr=sb.append(" ").append("Java").append(" ").append("Training"); System.out.println("Concatenated String using String Buffer is :: " + concatenatedstr ); } }
輸出:
In this example, we will see how to string concatenation is achieved using a string builder in java.
Code:
package com.edubca.stringconcatenation; public class StringconcatDemo{ public static void main(String args[]){ String s1= "This"; String s2= "Is"; String s3= "Edubca"; String s4="Training"; // create StringBuilder Instance StringBuilder sb=new StringBuilder ("Edubca"); //call append method for string concatenate StringBuilder concatenatedstr=sb.append(" ").append("Java").append(" ").append("Training"); System.out.println("Concatenated String using String Builder is :: " + concatenatedstr ); } }
Output:
Note: It is important to note that we should prefer StringBuilder over StringBuffer as a String buffer that consumes extra time in synchronization. But in a multithreaded environment, it is advisable to go for StringBuffer.From the above discussion, we have a clear understanding of string concatenation in java, how it’s achieved, and what are different ways to concatenate java strings. Also, java code examples provide a clear understanding of concatenating strings.
以上是Java 字串連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!