必威体育Betway必威体育官网
当前位置:首页 > IT技术

【转载】java中int转string,string转int 及其效率对比

时间:2019-08-12 23:42:08来源:IT技术作者:seo实验室小编阅读:60次「手机版」
 

string转int

尊重原创,原文传送门

string转int,两种方法:

1、Interger.parseInt(String)

2、Interger.valueOf(String).intValue()

第二种方法可以去看源码,实现了第一种方法。

注释大概就是这样的意思

/**

*返回一个包含整数的对象

*指定的{@ String String}的值。 这个说法是

*被解释为表示一个有符号的十进制整数

*就好像这个论据是给予{@link的

* #parseInt(java.lang.String)}方法。 结果是一个

表示整数值的整数对象

*由字符串指定。

*

换句话说,这个方法返回一个{@code integer}

*对象等于以下值:

*

* <blockquote>

* {@code new Integer(Integer.parseInt(s))}

* </ blockquote>

*

* @param是要解析的字符串。

* @返回一个保存值的{整数}对象

*由字符串参数表示。

* @exception numberformatexception如果字符串不能被解析

*作为一个整数。

*/

在valueOf()里面实现了parseInt()方法。时间对比第二种比第一种要快了很多。

Integer.parseInt(str) : 21

Integer.valueOf(str).intValue() : 14

--------------------------------------------------------------------------------

int 转string一般用三种方法:

第一种:number + ""

第二种:string.valueOf()

第三种:.toString()

先说第一种,简单粗暴。

第二种方法:底层使用的依旧是.toString()方法

第三种就是toString()

代码

  1. int num = 888888;

  2. //(1)num + ""

  3. long start = system.currenttimemillis();//得到开始运行时系统时间

  4. for(int i=0; i<100000; i++){

  5. String str = num + "";

  6. }

  7. long end = System.currentTimeMillis();//得到结束运行时系统时间

  8. System.out.println("num + \"\" : " + (end - start));

  9. //(2)String.valueOf(num)

  10. start = System.currentTimeMillis();

  11. for(int i=0; i<100000; i++){

  12. String str = String.valueOf(num);

  13. }

  14. end = System.currentTimeMillis();

  15. System.out.println("String.valueOf(num) : " + (end - start));

  16. //(3)Integer.toString(num)

  17. start = System.currentTimeMillis();

  18. for(int i=0; i<100000; i++){

  19. String str = Integer.toString(num);

  20. }

  21. end = System.currentTimeMillis();

  22. System.out.println("Integer.toString(num) : " + (end - start));

结果就是

num + "" : 82

String.valueOf(num) : 32

Integer.toString(num) : 9

经过多次的反复测试,toString()是最快的,num+""是最慢的,在使用String.valueOf()中源码是这样的。

public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
}
也就是说在使用的时候,不用去判断所传的对象是否为null,但是尤其注意,如果传的为空,返回来的是一个为null的字符串而不是null值,这个地方需要谨记。

相关阅读

Java的常用开发工具

Java开发者推荐的几种常用工具,Java程序员最喜欢的几款IDE编辑器 这篇文章主要为大家详细介绍了Java开发者推荐的10种常用工具,具

优秀Java代码

Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目 https://blog.csdn.net/ruowuping4501/article/details/76588314?

[Java] ArrayList 类

文章目录`java.util.ArrayList`数组和`ArrayList`的比较例1例2书后的练习java.util.ArrayList<E> 从书中各种代码来看,java.util.A

Java MouseEvent类(鼠标事件)

简介 所有组件都能发出鼠标事件,MouseEvent类负责捕获鼠标事件,可以通过为组件添加实现了MouseListener接口的监听器类来处理相应

Java养成类小游戏

此周是做项目做一个java的养成类的小游戏我是用控制台写的小游戏建了很多的UI地图,部分代码,然后让我们来看实现的样子:好啦,部分内容

分享到:

栏目导航

推荐阅读

热门阅读