字符串

本文深入探讨了Java中字符串的特性,包括其不可变性和限定字符串的概念。通过实例演示了字符串对象如何工作,以及如何使用==操作符和equals()方法来比较字符串。此外,还介绍了StringBuilder和StringBuffer作为更灵活的字符串替代方案。

不可变字符串:

       String对象是不可变的,它的内容是不能改变的。

       String s="java";

       s="HTML";

       上面的语句并没没有改变字符串的内容,第一条语句创建了一个内容为"java"的字符串对象,并且将它的引用赋值给S,同理"HTML"的引用也赋值给S,"java"对象仍然存在,没有被改变,只是再也无法访问这个对象了。

 

限定字符串:

        因为字符串在程序设计中不可变,但是又经常出现,所以java虚拟机为了节约内存和提高效率,对具有相同字符串序列的字符串直接量使用同一个实例,这样的实例成为限定的。

 

 

String s1="java";
String s2=new String("java");
String s3="java";
System.out.println("s1==s2 is " + (s1==s2));
System.out.println("s1==s3 is " + (s1==s3));
 

 

       程序结果显示为:

 

s1==s2 is false
s1==s3 is true

 注:字符串的==是用来判断字符串地址是否相同的,如果需要判断字符串内容是否相同,使用equals()函

 

更灵活的String替代类:StringBuilder 和StringBuffer

StringBuilder 和StringBuffer的对象是可以更改的,和String对象不一样,可以插入删除内容,所以更灵活,StringBuffer修改缓冲区的方法是同步的,除此之外,StringBuilder 和StringBuffer功能几乎类似

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值