首页 > 解决方案 > 如何避免在 Java 中多次调用函数?

问题描述

我正在调用具有不同值的函数来获得特定结果。有什么办法可以减少这样的调用函数以提高 Java 的性能和可靠性?

func(1,6);
func(4,0);
func(2,7);
func(5,0);
func(3,0);


private static void func(int printer,int printing){
        if(printing == 0){
            for(int j=1;j<=7;j++){
                if(j!=printer){
                    arrayOdd.add(j);
                }
            }
        }else{
            for(int j=1;j<=7;j++){
                if(j!=printer && j!=printing)
                    arrayOdd.add(j);
            }
        }
    }

标签: javadata-structures

解决方案


您可以将打印机的值和打印的值放在 List 或数组中,但您需要手动放置参数,只要没有逻辑保持输入即可。我的意思是这样的

int final static THE_TIMES_YOU_CALLED_THE_FUNC=5;

List<int[]> list =new ArrayList<>(THE_TIMES_YOU_CALLED_THE_FUNC);
        list.add(new int []{1,6});
        list.add(new int []{4,0});
        list.add(new int []{2,7});
        list.add(new int []{5,0});
        list.add(new int []{3,0});

        for(int i=0;i<list.size();i++){
            funk(list.get(i)[0],list.get(i)[]);
        }
    }

    private static void func(int printer,int printing){
        if(printing == 0){
            for(int j=1;j<=7;j++){
                if(j!=printer){
                    arrayOdd.add(j);
                }
            }
        }else{
            for(int j=1;j<=7;j++){
                if(j!=printer && j!=printing)
                    arrayOdd.add(j);
            }
        }
    }

最后编译器会调用 func 5 次,我没有看到我的灵魂的优势,但你最终希望编写 func 一次。


推荐阅读