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

Java:关于“StringBuilder“的运用相关推荐

  1. java中怎样创建多个对象,java中StringBuilder.appent方法创建几个对象

    在Java中StringBuilder是继承AbstractStringBuilder,在AbstractStringBuilder是byte[] value; 存放字符内容 public Abstr ...

  2. java错误switch找不到符号,Java使用StringBuilder时--找不到符号

    写了个Test试了下Java的StringBuilder类 代码如下: import java.util.Scanner; public class StringBuilder1 { public s ...

  3. [转载] 整理下java中stringBuilder和stringBuffer两个类的区别

    参考链接: Java中的StringBuffer类 StringBuilder和StringBuffer这两个类在动态拼接字符串时常用,肯定比String的效率和开销小,这是因为String的对象不会 ...

  4. Java 中 StringBuilder 在高性能用法总结

    关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗吗? 还有些同学,还听过三句 ...

  5. 【java】StringBuilder的常用两种方法与练习

    String Builder 1.定义:一种比String更灵活,长度可变的字符串类 2.构造方法 package com.ljh.StringBuilderDemo;/*** @Author: lj ...

  6. Java中StringBuilder的清空方法比較

    StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...

  7. java codepointbefore_Java StringBuilder codePointBefore()方法与示例

    StringBuilder类codePointBefore()方法codePointBefore()方法在java.lang包中可用. codePointBefore()方法用于表示给定索引和数组索引 ...

  8. JDK源码解析之 Java.lang.StringBuilder

    StringBuilder类表示一个可变的字符序列.StringBuilder的API与StringBuffer互相兼容,但是StringBuilder是非线程安全的,在大多数实现中它比StringB ...

  9. Java:StringBuilder的基本使用

    概述 StringBuilder表面看起来是用来拼接.处理字符串的一个工具类,但它的内部实现其实是处理字符序列. StringBuilder与StringBuffer StringBuilder与St ...

  10. Java中StringBuilder清空数据方法比较

    StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次,代 ...

最新文章

  1. 面试题:找出出现次数超过1/2和1/3的数
  2. Java 多维数组遍历
  3. mysql支撑union_mysql 不支撑union select 的盲注方式
  4. 再学 GDI+[79]: 区域(8) - Transform - 区域的 Matrix 变换
  5. Js引擎解析执行 阅读笔记
  6. scjp java程序员_Sun认证Java程序员SCJP考题常见陷阱
  7. Jupyter Notebook——如何快速地以当前文件夹目录打开 Jupyter Notebook
  8. Monitorix 2.6.0 发布,系统监控工具
  9. 基于python的气象数据分析_基于python的《Hadoop权威指南》一书中气象数据下载和map reduce化数据处理及其......
  10. Wi-Fi Direct
  11. C++ string split()和 replaceAll()
  12. SVN+MAVEN项目打包
  13. JDK 11 下载安装,配置idea
  14. (附源码)小程序 口腔诊所预约系统 毕业设计 201738
  15. MySQL 添加索引报错:BLOB/TEXT column used in key specification without a key length
  16. 若a,b互素,则a必然存在模b的逆元;若a,b不互素,则a必然不存在模b的逆元
  17. 程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取(1)
  18. 隧道技术(Tunneling)
  19. Logback 学习笔记
  20. 有什么好用的财务分析软件?

热门文章

  1. 东方卫视携微软小冰打造人工智能新闻节目引热议
  2. solver参数详解
  3. ie浏览器的标准模式与怪异模式的设置与区分方法
  4. C1任务01 #记录与总结 #C无止境21040904在职C1组
  5. day19 482 合唱队形 (线性DP)
  6. 为什么公司要用企业邮箱
  7. php的seeder是什么,Seeder(一)
  8. 基于WordPress建个人博客
  9. 读取yaml文件出现UnicodeDeco: ‘gbk‘ codec can‘t decode byte 0xaf in position 68: illegal multibyte sequen报错
  10. 使用Python分析英文句子的词性和情感倾向