java - 在不重载的情况下组合 Java 函数

标签 java function overloading

如何组合这两个函数以使我的代码更高效?我目前只是重载函数以允许接受整数和字符串作为参数。

private void flushGrid(int grid[][], int replacement) {
        for(int x=0;x<grid.length;x++) {
            for(int y=0;y<grid[0].length;y++) {
                grid[x][y] = replacement;
            }
        }
    }

private void flushGrid(String grid[][], String replacement) {
    for(int x=0;x<grid.length;x++) {
        for(int y=0;y<grid[0].length;y++) {
           grid[x][y] = replacement;
        }
    }
}

最佳答案

结合这两种方法不会让它变得更简单或更有效,但你可以做到。

private void flushGrid(Object[] grid, Object replacement) {
    for (int x = 0; x < grid.length; x++) {
        for (int y = 0; y < Array.getLength(grid[0]); y++) {
            Array.set(grid[x], y, replacement);
        }
    }
}

请注意,这适用于原始数组和引用数组。

关于java - 在不重载的情况下组合 Java 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410311/

相关文章:

java - 如何对自定义断言进行单元测试?

python - 使用 ord 和 chr 移动字母

c++ - 从文件读取时如何创建对象 vector ? [C++]

java - 存储库查询和实体实例变量名称

java - 使用 Java Swing 打开 Finder/Explorer

c - 指向字符串数组的指针在函数中可以,但在外部不行

c++ - 对具有私有(private)可访问性的重载继承函数使用声明

c++ - catch block 让我无法匹配运算符(operator)错误

java - 使用微调器 OnItemSelectedListener() 启动新 Intent

c - C 中将数组和数组指针传递给函数的区别