今天谈下很容易迷惑的stringbuffer和stringbuilder
现在还是小白,之前很少关注这两者和String区别,慢慢的,潜意识里对这些东西开始重视起来了。偶尔有看源码的时候也会留意哪种用的比较多,最近看到的也都会记录下。
谈到stringbuffer和stringbuilder,区别网上也有说,StringBuilder是线程不安全的,StringBuffer是线程安全的,。如果只是在单线程中使用字符串缓冲区,则StringBuilder的效率会高些,但是当多线程访问时,最好使用StringBuffer。
目前我接触到的,看源码看到的,都是偏StringBuilder多,StringBuffer还没碰到。我今天在练习代码时候用的一行代码
System.out.println(Arrays.toString(i));
点了下源码,发现用的还是StringBuilder,特此记录下
源码很简单,小白也能看懂。传入一个数组,先判断是否为null,是返回,不是继续判断是否为空数组(没有元素存在),是返回,不是就用StringBuilder拼接数组元素,最后返回形式如下
[1, 2]