【StringBuilder类】添加和反转方法以及StringBuilder和String相互转换

您所在的位置:网站首页 string对象的哪个方法可以将一个字符串 【StringBuilder类】添加和反转方法以及StringBuilder和String相互转换

【StringBuilder类】添加和反转方法以及StringBuilder和String相互转换

2024-07-09 12:42| 来源: 网络整理| 查看: 265

StringBuilder类

如果对字符串进行拼接操作,每次拼接都会构建一个新的String对象,既耗时又浪费内存空间,而这种操作还不可避免。我们可以通过Java提供的StringBuilder类来解决这个问题。StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的

String和StringBuilder的区别:

String:内容是不可变的StringBuilder:内容是可变的

1.StringBuilder的构造方法

public StringBuilder():创建一个空白可变字符串对象,不含有任何内容

public StringBuilder(String str):根据字符串的内容来创建可变字符串对象

package com.common.string; public class StringDemo08 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); System.out.println("sb:"+sb); System.out.println("sb.length():"+sb.length()); StringBuilder sb2 = new StringBuilder("hello"); System.out.println("sb2:"+sb2); System.out.println("sb2.length():"+sb2.length()); } }

2.添加方法和反转方法

public StringBuilder append(任意类型):添加数据并返回数据本身

package com.common.string; //添加方法 public class StringDemo09 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); /*StringBuilder sb2 = sb.append("hello"); System.out.println("sb:"+sb); System.out.println("sb2:"+sb2); System.out.println(sb==sb2);*/ /*sb.append("hello"); sb.append("world"); sb.append("java"); sb.append(100);*/ //链式编程,返回对象本身可以用对象调方法 sb.append("hello").append("world").append("java").append(100); System.out.println("sb:"+sb); } }

在这里对sb和sb2进行测试看它们是否相等,添加数据返回数据本身,所以返回的还是一个对象,可以直接用链式编程直接用对象调用append()方法,简化代码。

public StringBuilder reverse():返回相反的字符序列

package com.common.string; //反转方法 public class StringDemo09 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.append("hello").append("world").append("java").append(100); System.out.println("sb:"+sb); sb.reverse(); System.out.println("sb:"+sb); } }

在这里插入图片描述

3.StringBuilder和String相互转换

StringBuilder转换为String

public String toString():通过toString()就可以实现把StringBuilder转换为String

package com.common.string; public class StringDemo10 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.append("hello"); String s = sb.toString(); System.out.println(s); } }

String转换为StringBuilder

public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder

package com.common.string; public class StringDemo10 { public static void main(String[] args) { String s="hello"; StringBuilder sb = new StringBuilder(s); System.out.println(sb); } }

4.案例:使用StringBuilder的append方法拼接字符串

需求:定义一个方法,把int数组中的数据按照指定格式拼接成一个字符串返回,调用该方法并在控制台输出结果。例如,数组为int[] arr={1,2,3},执行方法后的输出结果为:[1,2,3]

思路:

1.定义一个int类型的数组,用静态初始化完成数组的初始化

2.定义一个方法,用于把int数组中的数据按照指定格式拼接成一个字符串返回。返回值类型为String,参数列表为int[] arr

3.在方法中用StringBuilder按照要求进行拼接,并把结果转成String返回

4.调用方法,用一个变量接收结果

5.输出结果

package com.common.string; //使用StringBuilder的append方法进行拼接 public class StringDemo11 { public static void main(String[] args) { int[] arr = {1, 2, 3}; String s = arrayToString(arr); System.out.println("s:"+s); } public static String arrayToString(int[] arr){ StringBuilder sb = new StringBuilder(); sb.append("["); for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3