java字符串拼接的⼏种⽅式
java字符串拼接的⼏种⽅式
1、 + ⽅式
String str1="hello";
String str2="world";
String str=str1+str2;
2. concat⽅式
当两个量都为String类型且值不为null时,可以⽤concat⽅式
String a="a";
String b="b";
String c= a.concat(b);
理论上,此时拼接效率应该最⾼,因为已经假定两个量都为字符串,做底层优化不需要额外判断或转换,⽽其他⽅式⽆论如何优化,都要先⾛到这⼀步。
3. append⽅式
当需要拼接⾄少三个量的时候,可以考虑使⽤StringBuffer#append()以避免临时字符串的产⽣
StringBuffer buf=new StringBuffer()
buf.append("a");
if(someCondition){
buf.append("b");
}
buf.append("c");
String String();
当a,b,c拼接起来会很长时,可以给在构造器中传⼊⼀个合适的预估容量以减少因扩展缓冲空间⽽带来的性能开销。字符串截取拼接不固定
StringBuffer buf=new StringBuffer(a.length()+b.length()+c.length());
JDK对外提供的⼀些涉及可append CharSequence的参数或返回值类型往往是StringBuffer类型,毕竟安全第⼀,⽽StringBuffer⼤多数情况(包括append操作)线程安全。
若不会出现多线程同时对⼀实例并发进⾏append操作,建议使⽤⾮线程安全的StringBuilder以获得更好性能
4. 其他
若需拼接⾄少三个量,只⽤⼀个连续拼接的语句就可完成时,从使代码简洁⾓度考虑,⽤plus⽅式。
String a="a";
String b="b";
String c="c";
String d=a+b+c;
此时,第4句经JDK编译后其字节码(或)会⾃动优化为等效于下列代码编译后的字节码。
String d=new StringBuilder().append(a).append(b).append(c).toString();
若采⽤模板+参数来替换占位符的⽅式或需同时对要拼接⽇期/数字进⾏格式化,可以⽤String.format()来实现。
喜欢这样⽂章的可以关注我,我会持续更新,你们的关注是我更新的动⼒!需要更多java学习资料的也可以私信我!祝关注我的⼈都:⾝体健康,财源⼴进,福如东海,寿⽐南⼭,早⽣贵⼦,从不掉发!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。