Java中的String与StringBuffer

本文探讨了Java中String与StringBuffer的不同之处。通过示例说明了String对象的不可变性及其对函数调用的影响,并介绍了StringBuffer作为可变字符串序列的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前学java的时候竟然不知道有一个StringBuffer,终于有一天需要用函数来改变String的值得时候。才找到一些资料提到StringBuffer,这是前言。

String是使用java.lang包中的String类来创建的,因此字符串变量是类类型的,是一个对象。字符串常量是对象,因此可以把字符串常量的引用付给一个字符串变量。所以:

String s;

s="How are you";

s="How do you do";

执行结果打印:s="How do you do";

但是s[3]=a;这样的赋值方式是错误的。

public class TestFun2 {

   public static void testStr(String str){
   str="hello";//型参指向字符串 “hello”
}
public static void main(String[] args) {
   String s="1" ;
   TestFun2.testStr(s);
   System.out.println("s="+s); //实参s引用没变,值也不变
   }
}

执行结果打印:s=1

前面的例子表明String类创建的字符串对象是不可修改的。也就是说String字符串不能修改。删除或替换字符串中的某个字符,即String对象一旦创建,实体是不可再发生变化的,但StringBuffer类可以。该类能创建可修改的字符串序列,即该对象的实体的内存是可以自动改变大小的。

例如,StringBuffer有append()方法。又如上例如果传入的参数是StringBuffer类型的则其内容是可修改,可返回的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值