gpt4 book ai didi

Java - 使用 Callable void 解析方法

转载 作者:行者123 更新时间:2023-12-02 05:59:39 25 4
gpt4 key购买 nike

我有以下代码:

    private static void createMenu(String nameOfMenu, Callable<Void> case1, Callable<Void> case2, Callable<Void> case3 )  throws Exception{
System.out.println(nameOfMenu+" Options");
System.out.println("What would you like to do?(Type the appropriate slection number)");
System.out.println("(1) Add "+nameOfMenu);
System.out.println("(2) Edit "+nameOfMenu);
System.out.println("(3) Remove "+nameOfMenu);
System.out.println("(4) Return to Main Menu");
System.out.println("To quit the program, type 'Q'");
String input = scanner.nextLine().toLowerCase();
while (!"1".equals(input) && !"2".equals(input) && !"3".equals(input) && !"4".equals(input) && !"q".equals(input)) {
System.err.println("Please enter 1, 2, 3, 4 or 'q' only");
input = scanner.nextLine().toLowerCase();
}
switch (input) {
case "1":
case1.call();
break;
case "2":
case2.call();
break;
case "3":
case3.call();
break;
case "4":
mainMenu();
break;
case "q":
System.exit(0);
System.out.println("Thank you!");
break;
}
}

我有第二种方法正在尝试调用上面的方法

private static void callingMethod(){
createMenu("menu name",method(),method1(),method2());
}

所有方法都是静态无效的。Netbeans 给我一个错误,指出此处不允许使用“void”类型。我该如何修复这个错误?

最佳答案

Callable不是一种方法。它是一个接口(interface)。所以尝试这样的事情:

class MyTask implements Callable<Void> {
@Override
public Void call() throws Exception {
// do something

return null;
}
}

...

private static void callingMethod() {
createMenu("menu name", new MyTask(), new MyTask(), new MyTask());
}

关于Java - 使用 Callable void 解析方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22781445/

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