Java中String与StringBuffer类的区别

第1节 Java String 类

1.1 基础知识

1、作用:
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

2、特点:

  • String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。
  • 如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
1.2 String valueOf() 方法

1、valueOf() 方法表示形式
在这里插入图片描述

2、代码实例

public class Text {
    public static void main(String[] args) {
        char[] arr = {'r', 'u', 'n', 'o', 'o', 'b'};
        boolean b = true;

        int i = 10;
        double d = 1100.00;
        long l = 1234567890;

        System.out.println("返回值 : " + String.valueOf(arr));
        System.out.println("返回值 : " + String.valueOf(b));

        System.out.println("返回值 : " + String.valueOf(i));
        System.out.println("返回值 : " + String.valueOf(d));
        System.out.println("返回值 : " + String.valueOf(l));
    }
}

//Process start
返回值 : runoob
返回值 : true
返回值 : 10
返回值 : 1100.0
返回值 : 1234567890
//Process finished

3、重点 String.valueOf(int i)
(1) 进入String.valueOf(int i)方法
(2) String有点懒,啥都不干,直接调用Integer.toString(int i)方法。

 public static String valueOf(int i) {
        return Integer.toString(i);
    }
1.3 Number toString() 方法

1、定义和用法:
toString() 方法可把一个 Number 对象转换为一个字符串,并返回该字符串。

  • 一个参数:返回参数值的字符串表示形式。
  • 两个参数:返回第一个参数(用第二个参数指定的进制表示的)的字值符串表示形式。
public class Text {
    public static void main(String[] args) {
        Integer x = 5;
        
        System.out.println(x.toString());
        System.out.println(Integer.toString(8));
        System.out.println(Integer.toString(8,2));
    }
}

//Process start
5
8
1000
//Process finished

第2节 Java StringBuffer 类

2.1 基础知识

1、特点:
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

2、区别:

  • StringBuilder 的方法不是线程安全的(不能同步访问)。
  • StringBuilder 有速度优势

所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

2.2 StringBuffer 基本方法

1、public StringBuffer append(String s): 将指定的字符串追加到此字符序列。
2、String toString()返回此序列中数据的字符串表示形式。
在这里插入图片描述

2.3 初始化案例
public class Text {
    public static void main(String[] args){

        //创建一个StringBuffer的对象sb1,sb1的空间大小是10
        StringBuffer sb1 = new StringBuffer(10);
        sb1.append("sb1..空间大小");

        //创建一个StringBuffer的对象sb2,sb2的值是10
        StringBuffer sb2 = new StringBuffer("10");

        //创建一个StringBuffer的对象sb3,sb3的空间大小是10
        int [] arr=new int[]{1,10};
        StringBuffer sb3 = new StringBuffer(arr[1]);
        sb3.append("sb3..空间大小");

        //创建一个StringBuffer的对象sb4,sb4的值是10
        StringBuffer sb4 = new StringBuffer(Integer.toString(arr[1]));

        System.out.println(sb1);
        System.out.println(sb2);
        System.out.println(sb3);
        System.out.println(sb4);
    }
}

//Process start
sb1:空间大小10
10
sb3:空间大小10
10
//Process finished
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

folielxx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值