java代码实现减法 为什么说java的String相加减效率低?
为什么说java的String相加减效率低?由于string是一个不可变的变量,为了保证线程的安全,采用了不可变的设计模式,所以每次对string进行加减操作,都会生成一个新的对象。经过多次加法或减法
为什么说java的String相加减效率低?
由于string是一个不可变的变量,为了保证线程的安全,采用了不可变的设计模式,所以每次对string进行加减操作,都会生成一个新的对象。经过多次加法或减法运算,会产生许多新的对象,占用内存,影响程序性能。因此,对于字段字符串的加法或减法,通常使用StringBuffer和StringBuilder,其中StringBuffer是线程安全的。StringBuilder不是线程安全的。StringBuffer为每个方法使用synchronized,以确保线程安全。