运用一: StringBuilder实现字符串的拼接。
java中可以使用StringBuilder对象中的append方法来实现字符串的拼接,其代码实现如下:
public class Text {
public static void main(String[] args) {
String str1="he";
String str2="llo";
StringBuilder newStr=new StringBuilder();
newStr.append(str1);
newStr.append(str2);
System.out.println("新的字符串为:"+newStr);
}
}
输出结果为:
新的字符串为:hello
运用二:StringBuilder实现字符串的反转。
java中可以使用StringBuilder对象中的reverse和toString方法来实现字符串的反转,其代码实现如下:
public class Text {
public static void main(String[] args) {
String str1="hello";
System.out.println("反转前的字符串为"+str1);
StringBuilder newStr=new StringBuilder(str1);
newStr.reverse().toString();
System.out.println("新的字符串为:"+newStr);
}
}
输出结果为:
反转前的字符串为hello
新的字符串为:olleh
运用三:StringBuilder字符串是否对称。
java中可以使用StringBuilder对象中的reverse和toString方法来实现字符串的反转,然后通过equals方法比较两者是否相同,其代码实现如下:
public class Text {
public static void main(String[] args) {
String str1="上海自来水来自海上";
String str2="上海自来水来自海上";
System.out.println("反转前的字符串为:"+str1);
StringBuilder Str=new StringBuilder(str1);
//Str.reverse();
String newStr=Str.reverse().toString();
System.out.println("新的字符串为: "+newStr);
System.out.println(str1.equals(Str));//输出为false
/*输出为false的原因是Str是一个StringBuilder对象,
而在equals方法的比较中要与String类比较。
因这两个类不同,所以比较出错返回false
*/
System.out.println(str1.equals(newStr));//输出为true
//因为经过toString之后返回的是String类型
}
}
运行结果如下:
反转前的字符串为:上海自来水来自海上
新的字符串为: 上海自来水来自海上
false
true
运用四:StringBuilder按格式输出字符串。
主要是使用StringBuilder对象中的append方法来实现字符串的拼接,其代码实现如下:
public class Text {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入一个字符串(要求:必须包含数字与字母)");
String str=scan.next();
printStr(str);
}
private static void printStr(String str) {
StringBuilder capital=new StringBuilder();
StringBuilder lowercase=new StringBuilder();
StringBuilder digit=new StringBuilder();
for(int i=0;i<str.length();i++) {
char ch=str.charAt(i);
if(ch>='A'&&ch<='Z') {
capital.append(ch);
}
if(ch>='a'&&ch<='z') {
lowercase.append(ch);
}
if(ch>='0'&&ch<='9') {
digit.append(ch);
}
}
StringBuilder newStr=digit.append(lowercase).append(capital);
System.out.println(newStr);
}
}
运行结果如下:
请输入一个字符串(要求:必须包含数字与字母)
sSFEsdwe242
242ssdweSFE
总结:
1.StringBuilder类实际应用中主要使用的方法有:reverse()、append()等。
2.StringBuilder类和String不相同,StringBuilder类的生产的实例化对象要想与String类生成的对象比较必须要通过toString()后才能用equals方法来比较值是否相同。