gpt4 book ai didi

java:类似C的选项参数

转载 作者:行者123 更新时间:2023-12-02 14:36:34 25 4
gpt4 key购买 nike

我正在制作这个实用程序类,我希望它能够将其他选项传递给我的方法:

import java.util.Random;

public class DataGen {
public static final int OPTION1 = 1;
public static final int OPTION2 = 2;
public static final int OPTION3 = 4;

private static Random gen = new Random();

public static String generateString(int n, int options) // <-------
{
if (options == OPTION1)
{
//...
}
else if (options == (OPTION1 | OPTION3))
{
//...
}

//...

return null;
}
}

我想以这种方式调用方法:

public static void main(String[] args) {
String k = DataGen.generateString(5, OPTION1 | OPTION2);
}

但这是编译器同意的唯一方式:

public static void main(String[] args) {
String k = DataGen.generateString(5, DataGen.OPTION1 | DataGen.OPTION2);
}

可以这样做吗?当然,除了在 main 类中声明常量之外。

最佳答案

如果你确实想要这样,你可以使用静态导入:

import static com.foo.bar.DataGen.*;

...

public static void main(String[] args) {
String k = DataGen.generateString(5, OPTION1 | OPTION2);
}

静态导入允许使用静态导入的静态字段或方法,而无需添加其所属的类。但滥用它们会导致代码更难阅读。

关于java:类似C的选项参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22407318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com