gpt4 book ai didi

java - 限制方法参数值

转载 作者:行者123 更新时间:2023-11-29 03:19:33 25 4
gpt4 key购买 nike

我正在构建一个库,我的一些方法的参数应该在特定范围内。例如,在此方法中,button 应介于 1 和 3 之间(含):

public static void pressMouse(int button){
try{
Robot robot = new Robot();
if(button == 1){
robot.mousePress(InputEvent.BUTTON1_MASK);
}else if(button == 2){
robot.mousePress(InputEvent.BUTTON3_MASK);
}else{
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
}
}catch(Exception e){

}
}

如果值无效,有没有办法抛出编译时错误?例如

TestLib.pressMouse(4);

我可以在方法中抛出一个异常,但如果有更好的方法那就太好了。

最佳答案

不像你写的那样。但是,添加这种编译时类型检查的一种方法是使用 Enum Type

public enum ButtonState {
ONE, TWO, THREE;
public void update(Robot robot) {
if (robot == null) return;
if (this == ONE) {
robot.mousePress(InputEvent.BUTTON1_MASK);
} else if (this == TWO) {
robot.mousePress(InputEvent.BUTTON3_MASK);
} else {
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
}
}
}

public static void pressMouse(ButtonState button) {
try {
Robot robot = new Robot();
button.update(robot);
} catch(Exception e) {
e.printStackTrace();
}
}

关于java - 限制方法参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500648/

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