相关疑难解决方法(0)

Java 中可变参数方法的性能

我有一个关于 Java 中参数数量可变的方法的性能问题。

假设我有以下两种选择:

public static final boolean isIn(int i, int v1, int v2) {
    return (v1 == i) || (v2 == i);
}

public static final boolean isIn(int i, int... values) {
    for (int v : values) {
        if (i == v) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我的第一个方法的参数达到 20、30 甚至 50 个时,主要问题就出现了。现在这样只会伤眼睛。好的,这是遗留代码,我想用唯一的一个变量参数方法替换所有代码。

知道这对性能会有什么影响吗?编译器是否有可能对第二种方法进行一些优化,使其或多或少类似于第一种形式?

编辑:好吧,也许我还不够清楚。对于具有 50 个参数的方法,我没有遇到性能问题。正如 Peter Lawrey 所说,这只是关于可读性。我想知道如果我切换到参数数量可变的新方法,会出现性能问题
换句话说:如果您关心性能,最好的方法是什么?具有 50 个参数的方法还是唯一一种具有可变参数的方法?

java performance

3
推荐指数
1
解决办法
2555
查看次数

标签 统计

java ×1

performance ×1