其他分享
首页 > 其他分享> > String、StringBuffer、StringBuilder和StringTokenizer的区别

String、StringBuffer、StringBuilder和StringTokenizer的区别

作者:互联网

1、String :String是不可变类,String对象一旦被创建就不可修改。String来创建一个经常被修改的对象时,会产生很多无用的对象,这些无用的对象将被垃圾回收机制回收,会影响程序的性能。

在实例化时,String可以利用构造函数进行初始化,也可以使用赋值的方式。

2、StringBuffer:StringBuffer是可变类,当对象创建后仍然可。StringBuffer只能使用构造函数方式来初始化。

3、String字符串修改字符原理:首先创建一个StringBuffer,其次调用StringBuffer的append()方法,最后调用StringBuffer的tostring()方法返回结构。

    String s = “Hello”;

    s+=“world”

  等价于

    StringBuffer sb = new StringBuffer(s);

    s.append("world");s.tostring();

4、StringBuilder:StringBuilder也是可以修改的字符串,与StringBuffer类似,都是字符串缓冲区,但是StringBuilder线程不安全,StringBuffer线程安全,StringBuilder的访问速率会更快。在单线程访问中可以使用StringBuilder,在多线程访问中,更适合使用StringBuffer。

5、执行效率:StringBuilder>StringBuffer>String

6、StringTokenizer:用来分割字符串的工具。

  StringTokenizer st = new StringTokenizer(“I like our country”);

  while(st.hasMoreTokens()){

    System.out.println(st.nextToken());

  }

运行结果为:

  I

  like

  our

  country

标签:String,StringBuffer,st,StringTokenizer,StringBuilder,字符串
来源: https://www.cnblogs.com/shuo2018/p/11470021.html