Loading

string、stringbuilder、stringbuffer不同?

  String类在其源码中,其jdk9之前是final修饰的char数组,jdk9后是final修饰的byte数组,final修饰的
类,final修饰的属性,是典型的immutable类,每次对string对象进行赋值,类似裁剪字符串、拼接,
都会在堆中创建一个String对象,对系统的性能有所影响。
  stringbuffer有效防止了string在操作字符串时创建对象的问题。这也是jdk5之后新加的类,
其append与add将字符串添加到末尾或则指定位置,是线程安全的,其源码中所有的方法都用到了
synchronize关键字修饰。但也带来了额外的性能开销,在不需线程安全的情况下,建议使用stringbuilder
  stringbuilder与stringbuffer方法基本相同,但是线程不安全,是大多数我们进行字符串操作的首选类

posted @ 2018-06-17 19:52  努力的小雨  阅读(155)  评论(0)    收藏  举报