java Byte.toString 方法与String.ValueOf(Byte)效率比较

  

        int times = 10000000;
        Byte[] li = new Byte[times];
        for (int i = 0; i < times; i++) {
            li[i] = (byte) i;
        }
        
        long timeA = System.currentTimeMillis();
        for (int i = 0; i < times; i++) {
            li[i].toString();
        }

        long timeB = System.currentTimeMillis();

        for (int i = 0; i < times; i++) {
            String.valueOf(li[i]);
        }

        long timeC = System.currentTimeMillis();

        System.out.println("A方法耗时:" + (timeB - timeA));
        System.out.println("B方法耗时:" + (timeC - timeB));

        if (timeB - timeA > timeC - timeB) {
            System.out.println("B方法好");
        } else {
            System.out.println("A方法好");
        }
            


执行结果:

A方法耗时:1303

B方法耗时:239

B方法好

 

String.valueOf(li[i]);

li[i] 为何变成Object了?不是应该调用String.valueOf(Byte) ?求高手指教

posted @ 2015-05-22 14:23  lkmgydx  阅读(1725)  评论(4)    收藏  举报
by HYL@2016年6月16日 14:51:38