栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如果性能很重要,是否应该使用Java的String.format()?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如果性能很重要,是否应该使用Java的String.format()?

我编写了一个小类进行测试,该类具有两者的更好性能,并且+领先于格式。以5到6的倍数进行尝试

import java.io.*;import java.util.Date;public class StringTest{    public static void main( String[] args ){    int i = 0;    long prev_time = System.currentTimeMillis();    long time;    for( i = 0; i< 100000; i++){        String s = "Blah" + i + "Blah";    }    time = System.currentTimeMillis() - prev_time;    System.out.println("Time after for loop " + time);    prev_time = System.currentTimeMillis();    for( i = 0; i<100000; i++){        String s = String.format("Blah %d Blah", i);    }    time = System.currentTimeMillis() - prev_time;    System.out.println("Time after for loop " + time);    }}

对不同的N运行上面的结果表明,两者的行为均呈线性,但

String.format
慢5-30倍。

原因是在当前实现中,

String.format
首先使用正则表达式解析输入,然后填充参数。另一方面,与plus的连接通过javac(而不是JIT)进行优化,并StringBuilder.append直接使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号