今天在用idea做文件哈希判重为下一个作品做准备的时候,发现一个提示:
‘StringBuffer hexValue’ may be declared as ‘StringBuilder’
以前只大概区别了String为静态的,StringBuffer是可以变化的,并且线程安全;一些更深的概念咱也不扯了。StringBuilder是不安全的,当时老师教的时候就推荐使用StringBuffer,也怪我当时没有辩证去探索这个问题:线程安全就一定是好的吗?
HashTable安全,咱也没怎么用啊;日常还是HashMap不是。
关于字符串拼接里面的线程安全,在我现在看来就是鸡肋,有多少人是天天写多线程的?字符串拼接的时候还要线程?并且StringBuilder比StringBuffer效率高了很多(至少百分之十不止)。
抛弃StringBuffer,拥抱StringBuilder。