Java String Concatenate示例

时间:2020-02-23 14:35:12  来源:igfitidea点击:

字符串连接是加入多个字符串以创建大字符串的方法。
我们使用许多地方来做字符串连接。

例如:当我们覆盖对象的ToString()方法时,连接多个属性以创建表示该对象的大字符串。

3种方法连接字符串

  • 使用+运算符
  • 使用String的Concat方法
  • 使用StringBuffer或者StringBuilder

+运算符:虽然Java不支持运算符重载,但我们可以使用+运算符连接两个字符串。

String str1= "Hello";
String str2="theitroad"
String result= str1+str2;

其中结果将是"Hellooitoad"。

String的Concat方法:我们可以使用String的Concat方法来连接两个字符串。

String str1= "Hello";
String str2="theitroad"
String result= str1.concat(str2);

其中结果将是"Hellooitoad"。

StringBuilder或者StringBuffer:我们可以使用StringBuilder或者StringBuffer的Append方法来连接两个字符串。

String str1= "Hello";
String str2="theitroad"
String result= new StringBuffer(str1).append(str2).toString();

它是连接两个字符串的最快方法。

性能比较:

  • +运算符不推荐用于大字符串连接,因为它创造了很多临时对象,也有些缓慢。
  • 如果我们有很多连接,则建议使用stringBuffer或者StringBuilder,因为它最快。

字符串连接的Java程序:

package org.igi.theitroad;
 
public class StringConcatenateExample {
 /*
  * @ Author : igi Mandliya
  */
 public static void main(String args[]) {
  
  String str1="hello";
  String str2="theitroad";
  //Using String's constructor
  System.out.println("--------------------");
  System.out.println("Using + operator");
  System.out.println("--------------------");
  
  //Below statement internally calls:
  //new StringBuffer().append(str1).append(str2)
  String resultUsingPlus=str1+str2;
  System.out.println(resultUsingPlus);
  System.out.println();
 
  //Using String's valueOf method
  System.out.println("--------------------");
  System.out.println("Using String's conat method");
  System.out.println("--------------------");
  String resultUsingConcat=str1.concat(str2);
  System.out.println(resultUsingConcat);
  System.out.println();
 
  //Using iterating char Array
  System.out.println("--------------------");
  System.out.println("Using StringBuffer or StringBuilder");
  System.out.println("--------------------");
  String resultUsingbuilder=new StringBuffer(str1).append(str2).toString();
  System.out.println(resultUsingbuilder);
 }
}

运行上面的程序时,我们将得到以下输出

-------------------
Using + operator
-------------------
hellotheitroad
 
-------------------
Using String's conat method
-------------------
hellotheitroad
 
-------------------
Using StringBuffer or StringBuilder
-------------------
hellotheitroad