怎么做app下载网站,做不规则几何图形的网站,网络宣传方案,医院网站建设价格可变性
String是不可变的#xff0c;这是因为String内部用于存储数据的char[]数组用了final关键字修饰#xff0c;而且是private的#xff0c;并且没有对外提供修改数组的方法。 StringBuffer和StringBuilder是可变的#xff0c;它们内部的char数组没有用final关键字修饰。…可变性
String是不可变的这是因为String内部用于存储数据的char[]数组用了final关键字修饰而且是private的并且没有对外提供修改数组的方法。 StringBuffer和StringBuilder是可变的它们内部的char数组没有用final关键字修饰。
线程安全性
由于String是不可变的所以它是线程安全的。 StringBuffer中的方法都用了Synchronized修饰也是线程安全的。 而StringBuilder中的方法没有用synchronized修饰线程不安全。
性能
String不可变每次操作String都会生成新的对象它的性能最低。 StringBuffer中的方法用了synchronized关键字修饰性能低于StringBuilder但高于String。
适合场景
String适合操作少量的数据。 StringBuffer适合多线程操作大量数据。 StringBuilder适合单线程操作大量数据。