Java中String类和StringBuilder类以及StringBuffer类

没人是你的光芒,就自己照亮远方

概念

String对象为“不可变对象”。指的是对象内部的成员变量的值无法再改变。String类对象也称为“不可变字符序列”
StringBuilder和StringBuffer称之为“可变字符序列”

  1. StringBuffer JDK1.0版本提供的类,线程安全,做线程同步检查, 效率较低。
  2. StringBuilder JDK1.5版本提供的类,线程不安全,不做线程同步检查,因此效率较高。 建议采用该类。

常用方法

  1. String类常用方法
    String类常用方法
  2. StringBuilder常用方法
  • 构造方法:
    public StringBuilder():构造一个空的StringBuilder容器。
    public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
    代码:
public class StringBuilderDemo {
    public static void main(String[] args) {
        StringBuilder sb1 = new StringBuilder();
         StringBuilder sb2 = new StringBuilder("abcdefg");
        System.out.println(sb1); 
        System.out.println(sb2);
    }
}

结果:
结果

  • 其他常用方法:

    • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
    • public String toString():将当前StringBuilder对象转换为String对象。
    • public void setCharAt(int index, char ch) :将index对于的内容替换传进去的字符

    1.append方法
    append方法具有多种重载形式,可以接收任意类型的参数。任何数据作为参数都会将对应的字符串内容添加到StringBuilder中。例如:

public class TestStringBuilder {
	public static void main(String[] args) {		
        StringBuilder sb1 = new StringBuilder();   
        StringBuilder sb2 = new StringBuilder();
       
        // 可以添加 任何类型
        sb1.append("hello");
        sb1.append("world");
        sb1.append(true);
        sb1.append(100);
        System.out.println("sb1:"+sb1);
        /*
        在我们开发中,会遇到调用一个方法后,返回一个对象的情况。
        然后使用返回的对象继续调用方法。
        append方法的链式调用便可应用于这种情况*/
        sb2.append("abc").append("def").append(false).append(100);
        System.out.println("sb2::"+sb2);

	}

}

结果:
结果
2.toString方法

public class Test {
	public static void main(String[] args) {
	
        StringBuilder sb3=new StringBuilder("abcd");
        //将String类转换为StringBuilder类
          String s=sb3.toString(); 
          //将StringBuilder类转换为String类
          System.out.println(s);
          System.out.println(sb3);
	}
}

结果:
结果

3.setCharAt方法

public class Test{
	public static void main(String[] args) {
		StringBuilder sb=new StringBuilder("abcdef");
		System.out.println(sb);
		sb.setCharAt(2, 'M'); //将索引位置为2的内容替换为M
		System.out.println(sb);

结果:
结果

其他基本数据类型的转换

public class TestWrappedClass {
	public static void main(String[] args) {
		//基本数据类型转成包装类对象
		Integer a =new Integer(3);//将整型3转化为Integer包装类
		Integer b= Integer.valueOf(30); //将整型30转化为Integer包装类
		
		//把包装类对象转成基本数据类型
		int c=b.intValue();
		double d=b.doubleValue();
	   
		//把字符串转成包装类对象
		Integer e= new Integer("999");
		Integer f= Integer.parseInt("4354");
		//Integer f= Integer.valueOf("4354");
		
		
		//把包装类对象转成字符串
		String str =Integer.toString(f);
		//String str =f.toString();
	 //String str=String.valueOf(f);

	    //基本数据类型与String类的互相转换
	       int k=10;
	       String s= String.valueOf(k); //整型转为String
	       int l=Integer.valueOf(s);   //String转为整型
	      
	}

}
最后,觉得对你有帮助的看官麻烦给我点个赞呗,你们的支持是我创作的动力
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值