Java long转String 两种方式的性能比较

血饮 2015-03-30 04:59:53
java中 long转string方式可以用:String.valueOf(long),也可以用long+""的方式进行转,请大神给分析一下这两种方式的性能。
...全文
827 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
血饮 2015-03-31
  • 打赏
  • 举报
回复
,多谢解惑啦。
冥王之锤 2015-03-30
  • 打赏
  • 举报
回复
public static void main(String[] args) { long j = 1; System.out.println(new Date().getTime()); for (int i = 0; i < 1000000; i++) { String r = String.valueOf(j); } System.out.println(new Date().getTime()); for (int i = 0; i < 1000000; i++) { String r = j + ""; } System.out.println(new Date().getTime()); } 输出: 1427717813405 1427717813427 1427717813533 显然,第一种速度较快。 查看字节码: 第一种: LLOAD 1 INVOKESTATIC java/lang/String.valueOf (J)Ljava/lang/String; ASTORE 3 第二种: NEW java/lang/StringBuilder DUP INVOKESPECIAL java/lang/StringBuilder.<init> ()V LLOAD 1 INVOKEVIRTUAL java/lang/StringBuilder.append (J)Ljava/lang/StringBuilder; LDC "" INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder; INVOKEVIRTUAL java/lang/StringBuilder.toString ()Ljava/lang/String; ASTORE 3 第二种较复杂,速度较慢

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧