Java:关于“StringBuilder“的运用

运用一: 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方法来比较值是否相同。

上一篇:javascript 中字符串的使用方法_重点


下一篇:马拉车算法