• Java代码质量的优化点


    1.switch 和 if/else 的性能比较

      直接上代码:

        

    public class SwitchCompIfElseTest {
    
        @Test
        public void switchCompIfElseTest() {
            long startTimeSwitch = System.nanoTime();
            for (int i = 0; i < 1; i++) {
                switchTest(i);
            }
            long timeSwitch = System.currentTimeMillis() - startTimeSwitch;
            System.out.println("timeSwitch=" + timeSwitch);
    
            long startTimeIfElse = System.currentTimeMillis();
            for (int i = 0; i < 1; i++) {
                ifElseTest(i);
            }
            long timeIfElse = System.nanoTime() - startTimeIfElse;
            System.out.println("timeIfElse=" + timeIfElse);
        }
    
        private void switchTest(int i) {
            switch (i) {
                case 0:
                    System.out.println("i=" + i);
                    break;
                case 1:
                    System.out.println("i=" + i);
                    break;
                case 2:
                    System.out.println("i=" + i);
                    break;
                case 3:
                    System.out.println("i=" + i);
                    break;
                case 4:
                    System.out.println("i=" + i);
                    break;
                case 5:
                    System.out.println("i=" + i);
                    break;
                case 6:
                    System.out.println("i=" + i);
                    break;
                case 7:
                    System.out.println("i=" + i);
                    break;
                case 8:
                    System.out.println("i=" + i);
                    break;
                case 9:
                    System.out.println("i=" + i);
                    break;
                default:
                    System.out.println("i=" + i);
                    break;
            }
        }
    
        private void ifElseTest(int i) {
            if (i == 0) {
                System.out.println("i=" + i);
            } else if (i == 1) {
                System.out.println("i=" + i);
            } else if (i == 2) {
                System.out.println("i=" + i);
            } else if (i == 3) {
                System.out.println("i=" + i);
            } else if (i == 4) {
                System.out.println("i=" + i);
            } else if (i == 5) {
                System.out.println("i=" + i);
            } else if (i == 6) {
                System.out.println("i=" + i);
            } else if (i == 7) {
                System.out.println("i=" + i);
            } else if (i == 8) {
                System.out.println("i=" + i);
            } else if (i == 9) {
                System.out.println("i=" + i);
            } else {
                System.out.println("i=" + i);
            }
        }
    
    }
    

      

      测试结果:

        

  • 相关阅读:
    C#中将全部代码一次性折叠
    C#中图片单击旋转事件
    块参照重命名
    补强圈设计
    c# winform 按名称取得控件
    获得某控件的父控件(容器)中的所有控件
    回车键当Tab键使用
    替换CAD中原有命令为开发人员自己开发的命令的方法
    窗体设置
    判断控件的tag是否为空的方法
  • 原文地址:https://www.cnblogs.com/blackmanbali/p/9855341.html
Copyright © 2020-2023  润新知