String和StringBuilder的区别

it2024-12-02  20

String 本身不可变,每一次内容发生变化,都会生成一个新的对象,然后原有对象引用新的对象。 每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。 StringBuilder 每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能

例如: 同样是将数组元素通过","逗号分隔转化为字符串 StringBuilder

StringBuilder hr_sign = new StringBuilder(); for (String temp:listselect){ if (hr_sign.length() == 0){ hr_sign = new StringBuilder(temp); }else { hr_sign.append(",").append(temp); } } String hr_sign = String.valueOf(hr_sign);

String

String hr_sign2 = ""; for (String temp:listselect){ if (hr_sign.length() == 0){ hr_sign2 = temp; }else { hr_sign2 = hr_sign2+","+temp; } }
最新回复(0)