将对象转换为字符串(效率)

把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+””最慢

把一个基本数据类型转为一般有三种方式,我有一个Integer型数据i,可以使用i.toString()、String.valueOf(i)、i+””三种方式,三种方式的效率如何,看一个测试

 1     private static void testFun() {
 2
 3         int loopTime = 50000;
 4         //case1:String.valueOf()
 5         Integer i = 0; long startTime = System.currentTimeMillis();
 6         for (int j = 0; j < loopTime; j++)
 7         {
 8             String str = String.valueOf(i);
 9         }
10         System.out.println("String.valueOf():" + (System.currentTimeMillis() - startTime) + "ms");
11         //case2:obj.toString()
12         startTime = System.currentTimeMillis();
13         for (int j = 0; j < loopTime; j++)
14         {
15             String str = i.toString();
16         }
17         System.out.println("Integer.toString():" + (System.currentTimeMillis() - startTime) + "ms");
18         //case3:obj+""
19         startTime = System.currentTimeMillis(); for (int j = 0; j < loopTime; j++)
20         {
21             String str = i + "";
22         }
23         System.out.println("i + \"\":" + (System.currentTimeMillis() - startTime) + "ms");
24     }

运行结果:

String.valueOf():19ms
Integer.toString():16ms
i + "":33ms

所以以后遇到把一个基本数据类型转为String的时候,优先考虑使用toString()方法。

至于为什么,很简单:

1、String.valueOf()方法底层调用了Integer.toString()方法,但是会在调用前做空判断

2、Integer.toString()方法就不说了,直接调用了

3、i + “”底层使用了StringBuilder实现,先用append方法拼接,再用toString()方法获取字符串

三者对比下来,明显是2最快、1次之、3最慢

时间: 2024-07-28 18:04:19

将对象转换为字符串(效率)的相关文章

json对象转换为字符串

function obj2str(o) { var r = []; if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + &quo

Clob对象转为字符串

项目中遇到一个问题,对方公司把打印好的报表数据存到数据库中,实际上就是把html存在Oracle中,然后需要我们在社保系统里进行查询. 但是他们把数据存放在B数据库,而我们的社保系统用的数据库是B.A和B都是Oracle数据库 这样就遇到一下几个问题: 1.读取B数据的Clob对象,但是会报错: ORA-22992:无法使用从远程表选择的LOB定位符 ,解决方法如:http://www.cnblogs.com/Sunnor/p/5368530.html 2 怎么把Clob对象读取出来,然后写到j

json对象与字符串的相互转换,数组和字符串的转换

1.json对象转换为字符串 JSON.stringify(value [, replacer] [, space])  var student = new Object(); student.id = "001"; student.name = "程陈"; student.age = "18"; var str = JSON.stringify(student); //{"id":"001","

javascript中Date对象与字符串之间的转换

使用js中new Date()得到的Data对象转换为字符串之后往往未能符合我们想要的期望,今天我就“Date对象与字符串之间的转换”这个主题做一个简易的分析: 常见的转换方式有: 一.toString() —— 把 Date 对象转换为字符串 1 var str = new Date().toString(); 2 console.log(str); 3 4 //output: 5 //Mon Oct 12 2015 11:13:22 GMT+0800 二.toTimeString() ——

json对象转换为json字符串

json对象转换为json字符串         可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串.         1. toJSONString()方法                 var last=obj.toJSONString(); //将JSON对象转化为JSON字符         2. JSON.stringify()方法                 var last=JSON.stringify(obj)

JackSon将java对象转换为JSON字符串

JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的writeValueAsString()方法将java对象转换为JSON对象 这里有个例子: public class Fruit { private String name; private String id; public Customet(String name, String id) { super(); th

DataTable 对象 转换为Json 字符串

#region DataTable 转换为Json 字符串 /// <summary> /// DataTable 对象 转换为Json 字符串 /// </summary> /// <param name="dt"></param> /// <returns></returns> public string ToJson( DataTable dt) { JavaScriptSerializer javaScri

JSon_零基础_005_将po(bean)对象转换为JSon格式的对象字符串,返回给界面

将po(bean)对象转换为JSon格式的对象字符串,返回给界面 导入jar包: 编写po(bean)类: package com.west.webcourse.po; /** * 第01步:编写bean类, * 下一步com.west.webcourse.servlet.JavaBeanToJOSNString.java */ public class PersonInfoPo { private String name; private int age; private String sex

JSon_零基础_004_将Set集合对象转换为JSon格式的对象字符串,返回给界面

将Set集合对象转换为JSon格式的对象字符串,返回给界面 需要导入的jar包: 编写:servlet: package com.west.webcourse.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import ja