开发者社区> 问答> 正文

字符串优化

字符串优化

展开
收起
珍宝珠 2020-02-12 16:49:03 1493 0
1 条回答
写回答
取消 提交回答
  • 通过 String.intern() 方法来优化字符串:

    public class StringOptimization {
        public static void main(String[] args){
            String variables[] = new String[50000];      
            for( int i=0;i <50000;i++){
                variables[i] = "s"+i;
            }
            long startTime0 = System.currentTimeMillis();
            for(int i=0;i<50000;i++){
                variables[i] = "hello";
            }
            long endTime0 = System.currentTimeMillis();
            System.out.println("直接使用字符串: "+ (endTime0 - startTime0)  + " ms" );
            long startTime1 = System.currentTimeMillis();
                for(int i=0;i<50000;i++){
                variables[i] = new String("hello");
            }
            long endTime1 = System.currentTimeMillis();
            System.out.println("使用 new 关键字:" + (endTime1 - startTime1) + " ms");
            long startTime2 = System.currentTimeMillis();
            for(int i=0;i<50000;i++){
                variables[i] = new String("hello");
                variables[i] = variables[i].intern();          
            }
            long endTime2 = System.currentTimeMillis();
            System.out.println("使用字符串对象的 intern() 方法: " 
            + (endTime2 - startTime2)
            + " ms");
        }
    }
    
    

    以上代码实例输出结果为:

    直接使用字符串: 3 ms
    使用 new 关键字:5 ms
    使用字符串对象的 intern() 方法: 10 ms
    
    2020-02-12 16:49:37
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载