java 中操作字符串都有哪些类?它们之间有什么区别?

  • 互动问答
  • 2020-02-18 15:11:25
  • 发表评论

    java中操作字符串的类,我知道的有三个类,分别是String,StringBuffer和StringBuilder.这三个类都是以char[]的形式保存的字符串,但是String类型的字符串是不可变的,对String类型的字符床做修改操作都是相当于重新创建对象.而对StringBuffer和StringBuilder进行增删操作都是对同一个对象做操作.StringBuffer中的方法大部分都使用synchronized关键字修饰,所以StringBuffer是线程安全的,StringBuilder中的方法则没有,线程不安全,但是StringBuilder因为没有使用使用synchronized关键字修饰,所以性能更高,在单线程环境下我会选择使用StringBuilder,多线程环境下使用StringBuffer.如果生命的这个字符串几乎不做修改操作,那么我就直接使用String,因为不调用new关键字声明String类型的变量的话它不会在堆内存中创建对象,直接指向String的常量池,并且可以复用.效率更高.到这时候还不过瘾的话你就接着说这三个类创建的时候都是什么状态,扩容的时候又怎么扩容的等等,感觉应聘的初级程序员应该够用了吧…在不行就给他讲内存原理给它画图,还不行,那我也没办法了,估计你应聘的应该是架构…坦白说自己就知道这么多.


    本文标题:java 中操作字符串都有哪些类?它们之间有什么区别?
    本文链接:https://www.shouma.net/post/265240.html
    作者授权:本文由 首码网 发布于 首码网
    版权声明:如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
    上一篇:String 属于基础的数据类型吗? 下一篇:String str="i"与 String str=new String("i")一样吗?

     发表评论:

    最新来访 免费收录
    最新留言