重学Java(038)——Java基础知识(String类)

一、String类

一、概述

  1. String类的对象内容不可以改变(常量,字符串底层上是一个被final修饰的数组,不能改变。),所以每当进行字符串拼接时,总是会在内存中创建一个新的对象。

  2. java.lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率。(可以做到修改字符串)

    构造方法:
    StringBuilder() 构造一个不带任何字符的字符串生成器,其初始容量为16个字符。
    StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。

代码示例:

public class Demo01StringBuilder {
    public static void main(String[] args) {

        // 空参数构造方法
        StringBuilder builder1 = new StringBuilder();
        System.out.println("builder1为:" + builder1); // builder1

        // 带字符串的构造方法
        StringBuilder builder2 = new StringBuilder("nxy");
        System.out.println("builder2为:" + builder2);

    }
}

二、StringBuilder类的append()方法

public StringBuilder append(…)":添加任意类型数据的字符串形式,并返回当前对象自己。

代码示例:

public class Demo02StringBuilder {

    public static void main(String[] args) {
        // 创建StringBuilder对象
        StringBuilder builder1 = new StringBuilder();

        // 使用append方法往StringBuilder中添加数据
        // append方法返回的是this,调用方法的对象builder1,this==builder1
        StringBuilder builder2 = builder1.append("abc"); // 把builder1的地址赋值给了builder2
        System.out.println(builder1); // abc
        System.out.println(builder2); // abc
        System.out.println(builder1==builder2); // true 比较的是地址

        System.out.println("=======================================");

        // 使用append方法无需接受返回值
//        builder1.append("defg");
//        builder1.append("hijk");
//        builder1.append("lmno");
//        System.out.println(builder1); // abcdefghijklmno
        System.out.println(builder2); // abcdefghijklmno

        System.out.println("======================================");

        /*
        链式编程法:方法的返回值是一个对象的话,可以继续调用方法
         */
        System.out.println("nxy".toUpperCase().toLowerCase().toUpperCase().toLowerCase()); // nxy
        // 下面这行代码与上面23——26行效果等同
        builder1.append("abc").append("defg").append("hijk").append("lmno");
        System.out.println(builder1);
    }

}

三、StringBuilder和String的相互转换

StringBuilder和String可以相互转换:

String——>StringBuilder:可以使用StringBuilder的构造方法 StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字符串内容。

StringBuilder——>String:可以使用StringBuilder中的toString方法
public String toString():将当前的StringBuilder对象转换为String对象。

代码示例:

public class Demo03StringBuilder {

    public static void main(String[] args) {
        // String——>StringBuilder
        String str = "hello";
        System.out.println("str为:" + str); // str为:hello
        StringBuilder builder = new StringBuilder(str);
        // 往StringBuilder中添加数据
        builder.append(" world");
        System.out.println("builder为:" + builder); // builder为:hello world

        //StringBuilder——>String
        String s = builder.toString();
        System.out.println(s); // hello world
        
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值