String

  • String的初始化

    1、String s = "sncv";

        "sncv"存储在字符串常量池中,如果常量池中存在,则不需要创建,直接用就好,如果常量池中不存在,就需要创建。

    2、String s = new String("abc");

        在堆中创建两个对象,一个字符串对象,一个new对象。

  • String中的equals方法

    Object类中的equals()方法比较的是两个对象的地址是否相同,等同于"==".

    String类虽然是Object类的子类,但是它覆写了父类中的equals()方法,比较的是两个字符串的内容是否相同。

String s = "abc";
String s1 = new String("abc");
System.out.println(s == s1);//false,"=="用于比较两个对象的地址是否相同。
System.out.println(s.equals(s1));//true
  • String中的compareTo()方法
System.out.println("a".compareTo("A"));//相当于返回a - A的ascii码之间的差值

    利用compareTo()方法,可以对多个字符串进行排序操作。

  • StringBuffer与StringBuilder

    相同点:StringBuilder与StringBuffer的功能是一样的,具有一个特殊的方法reverse():将字符串翻转。

    不同点:StringBuffer是线程同步的,通常用于多线程。StringBuffer实现同步的方法是使用同步代码块。

    StringBuilder是线程不同步的,通常用于单线程。StringBuilder的出现时为了解决StringBuffer在单线程时效率低的问题。

  • 注意:字符串的长度不会发生变化,所有改变了字符串长度的操作都是生成了一个新的字符串,字符串常量池中会增加一个字符串常量。而StringBuffer和StringBuffer的出现,方便了对字符串的改变,不会因为字符串长度的变化而在字符串常量池中增加过多的字符串常量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值