与string容易混淆的类——StringBuilder
创始人
2024-05-21 06:03:48
0

目录

StringBuilder类概述及其构造方法

StringBuilder类的常用方法

 StringBuilder类练习

StringBuilder类概述及其构造方法

  • StringBuilder类概述

        –我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuilder就可以解决这个问题

  • StringBuilder和String的区别?
  • 构造方法

        –public StringBuilder()

String是如何拼接的?

解释:首先对象 S = "hello",首先会在方法区常量池里边给hello 分配一个地址,这个地址存储的值是hello,在执行s+=“word”时,又new了一个地址叫做world,放在002这个地址内,拼接时又new了一个地址003,把他们加起来放在003这个地址内,

StringBuilder和String的区别?

StringBuilder是一个可变的字符串,字符串缓冲区类。

String的内容是固定的,StringBuilder的内容是可变的。

构造方法:

StringBuilder()

成员方法:

public int capacity():返回当前容量值,理论值

public int length():返回长度,实际值

package com.demo01;public class StringBuilderDemo {public static void main(String[] args) {//创建对象StringBuilder sb = new StringBuilder();System.out.println("sb:"+sb);System.out.println("sb.capacity():"+sb.capacity());System.out.println("sb.length():"+sb.length());sb.append("asdfasdfasdfasdfasdfasdfasdfdfgdragtert");System.out.println("sb.capacity():"+sb.capacity());System.out.println("sb.length():"+sb.length());}
}

 上述:因为stringbuilder是可变的,所以不是直接赋值,在原有字符的基础上追加字符,容量会自动扩充容量。

StringBuilder类的常用方法

  • 添加功能

        –public StringBuilder append(任意类型)

  • 反转功能

        –public StringBuilder reverse()

package com.demo02;public class StringBuilderDemo {public static void main(String[] args) {//创建对象StringBuilder sb = new StringBuilder();//public StringBuilder append(任意类型)StringBuilder sb2 = sb.append("hello");System.out.println("sb:"+sb);System.out.println("sb2:"+sb2);System.out.println(sb == sb2); //truesb.append("hello");sb.append("world");sb.append(true);sb.append(100);System.out.println("sb:"+sb);//链式编程sb.append("hello").append("world").append(true).append(100);System.out.println("sb:"+sb);//public StringBuilder reverse()sb.reverse();System.out.println("sb:"+sb);}
}

 StringBuilder类练习

  1. StringBuilder和String的相互转换
  2. 把数组拼接成一个字符串
  3. 把字符串反转
  4. 判断一个字符串是否是对称字符串

        –例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

练习1:StringBuilder和String的相互转换

package com.demo03;public class StringBuilderTest {public static void main(String[] args) {String s = "helloworld";StringBuilder sb = new StringBuilder(s);//StringBuilder sb2 = sb.append("xiaoyu"); System.out.println(sb);//System.out.println(sb2);}
}

练习2:把数组拼接成一个字符串

package com.demo03;public class StringBuilderTest2 {public static void main(String[] args) {//创建一个数组对象int[] arr = {1,2,3};System.out.println(arr.length);//用写方法实现拼接//调用方法String s = arrayToString(arr);//输出结果System.out.println("s:"+s);}/** 两个明确* 		返回值类型:String* 		参数列表:int [] arr*/public static String arrayToString(int[] arr) {StringBuilder sb = new StringBuilder();//[1, 2, 3]sb.append("[");for(int x=0; x

练习3: 把字符串反转

package com.demo03;import java.util.Scanner;public class StringBuilderTest3 {public static void main(String[] args) {//创建对象Scanner sc = new Scanner(System.in);System.out.println("请输入字符串");// 接收数据字符String s = sc.nextLine();//调用方法String result = myReverse(s);//输出姐夫结果System.out.println("result:"+result);}public static String myReverse(String s) {//String -- StringBuilder -- reverse() -- StringStringBuilder sb = new StringBuilder(s);sb.reverse();// 返回stringString result = sb.toString();return result;}
}

练习4: 判断一个字符串是否是对称字符串

package com.demo03;import java.util.Scanner;public class StringBuilderTest3 {public static void main(String[] args) {//创建对象Scanner sc = new Scanner(System.in);System.out.println("请输入字符串");// 接收数据字符String s = sc.nextLine();//调用方法String result = myReverse(s);if (s.equals(result)) {System.out.println("该字符串是对称字符串");}else {System.out.println("该字符串不是对称字符串");}//输出姐夫结果System.out.println("result:"+result);}public static String myReverse(String s) {//String -- StringBuilder -- reverse() -- StringStringBuilder sb = new StringBuilder(s);sb.reverse();// 返回stringString result = sb.toString();return result;}
}

 

相关内容

热门资讯

最绚丽的安卓系统,最绚丽版本全... 哇,你知道吗?在安卓的世界里,有一款系统,它就像是一颗璀璨的明珠,闪耀着最绚丽的色彩。它就是——最绚...
小米系统安卓通知权限,深度解析... 亲爱的手机控们,你是否曾为手机通知栏里乱糟糟的信息而烦恼?又或者,你是否好奇过,为什么有些应用总是能...
安卓7.0系统能玩吗,体验全新... 你有没有想过,你的安卓手机升级到7.0系统后,那些曾经陪伴你度过无数时光的游戏,还能不能继续畅玩呢?...
平板安卓系统哪家好,安卓平板系... 你有没有想过,在这个科技飞速发展的时代,拥有一台性能出色的平板电脑是多么重要的事情呢?想象无论是追剧...
安卓好的点歌系统,打造个性化音... 你有没有想过,在安卓手机上,点歌系统竟然也能如此精彩?没错,就是那个我们每天都会用到,却又常常忽略的...
熊猫安卓系统直播软件,解锁互动... 你知道吗?最近有个超级酷炫的直播软件在熊猫迷们中间火得一塌糊涂!它就是熊猫安卓系统直播软件。别看它名...
安卓点播系统开发,Androi... 你有没有想过,手机里那些让你爱不释手的视频,其实背后有着一套复杂的安卓点播系统在默默支撑呢?今天,就...
安卓6.0系统加权限,深度解析... 你有没有发现,自从手机升级到安卓6.0系统后,权限管理变得超级严格呢?这可真是让人又爱又恨啊!今天,...
哪些电视带安卓系统,多款热门智... 你有没有想过,家里的电视竟然也能装上安卓系统?听起来是不是有点不可思议?没错,现在市面上就有不少电视...
苹果怎么运用安卓系统,揭秘如何... 你知道吗?最近有个大新闻在科技圈里炸开了锅,那就是苹果竟然开始运用安卓系统了!是不是觉得有点不可思议...
安卓系统能转什么系统好,探索最... 你有没有想过,你的安卓手机是不是也能换换口味,体验一下其他系统的魅力呢?没错,今天就来聊聊这个话题:...
龙之狂热安卓系统,释放龙族狂热 亲爱的手机控们,你是否曾为拥有一款独特的安卓系统而疯狂?今天,就让我带你走进一个充满奇幻色彩的龙之狂...
vivo手机安卓系统怎么升级系... 亲爱的手机控们,你是不是也和我一样,对手机的新功能充满期待呢?尤其是vivo手机的用户,是不是也在想...
鸿蒙2.0退回安卓系统,一场系... 你知道吗?最近科技圈里可是炸开了锅,因为华为的鸿蒙2.0操作系统竟然要退回安卓系统了!这可不是一个简...
安卓系统怎么复制卡,安卓系统卡... 你有没有遇到过这种情况:手机里的照片、视频或者重要文件,突然想备份到电脑上,却发现安卓系统的卡复制功...
app兼容低安卓系统,打造全民... 你有没有发现,现在手机APP更新换代的速度简直就像坐上了火箭!不过,你知道吗?有些APP可是特别贴心...
中间安卓系统叫什么,中间安卓系... 你有没有想过,安卓系统里竟然还有一个中间的版本?没错,就是那个让很多手机用户既熟悉又陌生的版本。今天...
安卓怎么用os系统,利用And... 你有没有想过,你的安卓手机其实可以变身成一个功能强大的操作系统呢?没错,就是那个我们平时在电脑上使用...
pe系统安卓能做么,探索安卓平... 亲爱的读者,你是否曾好奇过,那款在安卓设备上大受欢迎的PE系统,它究竟能做什么呢?今天,就让我带你一...
安卓 打印机系统,安卓打印机系... 你有没有想过,家里的安卓手机和打印机之间竟然能建立起如此紧密的联系?没错,就是那个安卓打印机系统!今...