String StringBuffer和StringBuilder

第一次写博客,由于在学校里学的java不是很完整,老师只是泛泛的讲了一下,所以我抽空自己将Java(可能是javaSE)由自学了一遍。基础知识就没什么可说的,下边讲解一下String StringBuffer和StringBuilder三个东西。

java的三个版本

JavaSE

Java标准版(Java Standard Edition),定位在个人计算机的应用,我们最开始学的都是JavaSE

JavaEE

Java企业版(Java Enterprise Edition),企业版,基于服务器。在JavaSE的基础上增加了Service,jsp等。

JavaME

Java微型版,基于消费性电子产品(我也不是很懂,用的也越来越少)和安卓开发不同,是两码事

主体部分

String类

String类实际上是将你要保存的字符串存到类中的

private final char value[];

中,可以看到,只能赋值一次,无法修改,所以说String创建之后无法修改。但是有人说调用subString方法可以修改字符串(变成了字串),但是这种方法是新生成了一个字符串,原有的字符串没有改变。
在字符串的比较方面,有两种方法,一种是==,还有一种是.equals()。这两种方法有什么不同呢?等号他比较的是等号两方是不是同一个对象。而equals比较的是两个字符串的值是否相等。我们举以下例子:

        String s1 = "abc";
        String s2 = "abc";
        String s3 = new String("abc");
        System.out.println(s1==s2);
        System.out.println(s1==s3);
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));

结果如下:
true
false
true
true

StringBuilder和StringBuffer

继承AbstractStringBuffer
里边使用char[] value储存数据。
StringBuilder线程不安全,但是效率高(一般使用这个)。StringBuffer线程安全,但是效率低。

StringBuilder stringBuilder = new StringBuilder("safd");
        System.out.println(stringBuilder);
        System.out.println(Integer.toHexString(stringBuilder.hashCode()));
        stringBuilder.setCharAt(2,'6');
        System.out.println(stringBuilder);
        System.out.println(Integer.toHexString(stringBuilder.hashCode()));

结果如下:
safd
4554617c
sa6d
4554617c
可以看出StringBuilder的地址确实没有变化。

主要的方法

append():在后边添加字符串
reverse():倒序。
setCharAt():在哪替换成什么
insert():在哪插入什么
delete():从哪删除到哪

就写到这里了,谢谢大家支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值