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方法来比较值是否相同。
Java:关于“StringBuilder“的运用相关推荐
- java中怎样创建多个对象,java中StringBuilder.appent方法创建几个对象
在Java中StringBuilder是继承AbstractStringBuilder,在AbstractStringBuilder是byte[] value; 存放字符内容 public Abstr ...
- java错误switch找不到符号,Java使用StringBuilder时--找不到符号
写了个Test试了下Java的StringBuilder类 代码如下: import java.util.Scanner; public class StringBuilder1 { public s ...
- [转载] 整理下java中stringBuilder和stringBuffer两个类的区别
参考链接: Java中的StringBuffer类 StringBuilder和StringBuffer这两个类在动态拼接字符串时常用,肯定比String的效率和开销小,这是因为String的对象不会 ...
- Java 中 StringBuilder 在高性能用法总结
关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗吗? 还有些同学,还听过三句 ...
- 【java】StringBuilder的常用两种方法与练习
String Builder 1.定义:一种比String更灵活,长度可变的字符串类 2.构造方法 package com.ljh.StringBuilderDemo;/*** @Author: lj ...
- Java中StringBuilder的清空方法比較
StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...
- java codepointbefore_Java StringBuilder codePointBefore()方法与示例
StringBuilder类codePointBefore()方法codePointBefore()方法在java.lang包中可用. codePointBefore()方法用于表示给定索引和数组索引 ...
- JDK源码解析之 Java.lang.StringBuilder
StringBuilder类表示一个可变的字符序列.StringBuilder的API与StringBuffer互相兼容,但是StringBuilder是非线程安全的,在大多数实现中它比StringB ...
- Java:StringBuilder的基本使用
概述 StringBuilder表面看起来是用来拼接.处理字符串的一个工具类,但它的内部实现其实是处理字符序列. StringBuilder与StringBuffer StringBuilder与St ...
- Java中StringBuilder清空数据方法比较
StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次,代 ...
最新文章
- 面试题:找出出现次数超过1/2和1/3的数
- Java 多维数组遍历
- mysql支撑union_mysql 不支撑union select 的盲注方式
- 再学 GDI+[79]: 区域(8) - Transform - 区域的 Matrix 变换
- Js引擎解析执行 阅读笔记
- scjp java程序员_Sun认证Java程序员SCJP考题常见陷阱
- Jupyter Notebook——如何快速地以当前文件夹目录打开 Jupyter Notebook
- Monitorix 2.6.0 发布,系统监控工具
- 基于python的气象数据分析_基于python的《Hadoop权威指南》一书中气象数据下载和map reduce化数据处理及其......
- Wi-Fi Direct
- C++ string split()和 replaceAll()
- SVN+MAVEN项目打包
- JDK 11 下载安装,配置idea
- (附源码)小程序 口腔诊所预约系统 毕业设计 201738
- MySQL 添加索引报错:BLOB/TEXT column used in key specification without a key length
- 若a,b互素,则a必然存在模b的逆元;若a,b不互素,则a必然不存在模b的逆元
- 程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取(1)
- 隧道技术(Tunneling)
- Logback 学习笔记
- 有什么好用的财务分析软件?
热门文章
- 东方卫视携微软小冰打造人工智能新闻节目引热议
- solver参数详解
- ie浏览器的标准模式与怪异模式的设置与区分方法
- C1任务01 #记录与总结 #C无止境21040904在职C1组
- day19 482 合唱队形 (线性DP)
- 为什么公司要用企业邮箱
- php的seeder是什么,Seeder(一)
- 基于WordPress建个人博客
- 读取yaml文件出现UnicodeDeco: ‘gbk‘ codec can‘t decode byte 0xaf in position 68: illegal multibyte sequen报错
- 使用Python分析英文句子的词性和情感倾向