Java数组拼接字符串几个写法性能比较(转载)

将数组 int[] arr = {0,1,2,3,4,5,6,7,8,9} 拼接成 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 字符串:

StringBuilder sb = new StringBuilder(arr.length*3); // StringBuilder(arr.length*3)性能比StringBuilder()高
sb.append("[");
 
// 写法1
for( int i = 0, len = arr.length; i < len; i++)
{
   if( i > 0 ){
      sb.append(", ");
   }
 
   sb.append(arr[i]);
}
return sb.append("]").toString();
 
 
// 写法二
int iMax = arr.length - 1;
for(int i = 0; ; i++){
   sb.append(arr[i]);
   if( i == iMax ){
      return sb.append("]").toString();
   }
   sb.append(", ");
}
 
 
// 写法三
int offset = arr.length - 1;
for( int i = 0; i < offset; i++ )
{
    sb.append(arr[i]).append(", ");
}
sb.append(arr[offset]).append("]");
 
return sb.toString();

性能效率: 写法3 > 写法2 > 写法1

写法3效率之所以高,是因为在 for 循环中去掉了 if 条件判断。

时间: 2024-11-09 14:04:51

Java数组拼接字符串几个写法性能比较(转载)的相关文章

java数组和字符串相互转换

将字符串变成数组 Java.lang包中有String.split()方法,java中通常用split()分割字符串,返回的是一个数组. 特殊,转义字符,必须加"\\"(“.”和“|”都是转义字符) 示例: 1.如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用“|”作为分隔的话,必须是如下写法,String.split("\\|

java String拼接的方法选择及性能分析

String 拼接的方法选择 在拼接静态字符串时,尽量用 +,因为通常编译器会对此做优化,如: String test = "this " + "is " + "a " + "test " + "string" 编译器会把它视为: String test = "this is a test string" 在拼接动态字符串时,尽量用 StringBuffer 或 StringBuilde

【沫沫金】Java逗号拼接字符串增加单引号

背景 页面提供逗号拼接的字符串,可作为数据库查询in的条件. a,b 问题 数据库针对字符串的in条件,要求增加单引号 xx in ('a','b') 需求 页面的逗号拼接字符串直接转换成数据库要求格式(不使用for循环) 技术点 join org.apache.commons.lang.StringUtils StringUtils.join(split, "','") 实现源码 public static void main(String[] args) { String[] sp

JavaScript使用数组拼接字符串性能如何?

传统上,字符串连接一直是js中性能最低的操作之一. view source print? 1 var text="Hello"; 2 text+=" World!"; 早期浏览器没有对这种运算进行优化.由于字符串是不可变的,这意味着要创建中间字符串来存储连接的结果.频繁地在后台创建和销毁字符串导制性能异常低下. 发现这一点后,开发者们利用数组对象进行优化.句容市鄂茂钢铁 view source print? 1 var buffer=[],i=0; 2 buffer

JS中数组实现(倒序遍历数组,数组连接字符串)

// =================== 求最大值===================================== <script> var arr = [10,35,765,21345,678,89]; var max = arr [0]; for (var i=0;i< arr.length;i++) { if (max<arr[i]){ max = arr [i]; } } console.log("最大值:" + max); </sc

JS中数组实现 ——— 倒序遍历数组,数组连接字符串

// =================== 求最大值=====================================<script> var arr = [10,35,765,21345,678,89]; var max = arr [0]; for (var i=0;i< arr.length;i++) { if (max<arr[i]){ max = arr [i]; } } console.log("最大值:" + max);</scri

【转】Java 5种字符串拼接方式性能比较。

最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestS

Java基础知识强化45:StringBuffer类之把数组拼接成指定格式的字符串的案例

1. 先看案例代码如下: 1 package cn.itcast_07; 2 3 /* 4 * 把数组拼接成一个字符串 5 */ 6 public class StringBufferTest2 { 7 public static void main(String[] args) { 8 // 定义一个数组 9 int[] arr = { 44, 33, 55, 11, 22 }; 10 11 // 定义功能 12 // 方式1:用String做拼接的方式 13 String s1 = arra

Java 5种字符串拼接方式性能比较

http://blog.csdn.net/kimsoft/article/details/3353849 import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestStrin