关于String,StringBuilder和StringBuffer之间的关系。

1:关系

  1. String内部使用过使用final char[]数组来构建的,该数组已经初始化就不能改变,所以如果使用String向变化,则只能新创一个复制过去,当然这种不能改变的特性也保证可它是线程安全的。
  2. StringBuilder和StringBuffer都是继承了 extends AbstractStringBuilder,其内部不是final char[]的数组,所以其可以变化,如果使用可以变化,增加减少的字符串可以考虑使用这这种,但由于其可变化所以其不支持多线程的操作。但是StringBudder内部的操作方法菜都是经过同步的,虽然降低了性能,但是保证了多线程的安全性。

2:转换 

StringBuilder a  = new StringBuilder("I love you");

String b = ""+a;        //将StringBuilder类型转换成String类型

StringBuilder a  = new StringBuilder(a);        //将String类型转换为StringBuilder类型

posted @ 2020-03-24 10:36  大朱123  阅读(185)  评论(0)    收藏  举报