gpt4 book ai didi

Java:将 List 转换为方法(String、String、String)的输入

转载 作者:行者123 更新时间:2023-11-30 03:20:10 25 4
gpt4 key购买 nike

希望标题是解释性的。

 1 public void commander(){
2 Scanner input = new Scanner(System.in);
3 System.out.println("\nWelcome to my application."
4 + "\nType the command you want to use,"
5 + "or type 'exit' to close the program.");
6 while (input.next() != "exit") {
7 List<String> userInput = Arrays.asList(input.next().split(" "));
8 Class<? extends RunnableCommand> command = Commands.commandsMap().get(userInput.get(0));
9 userInput.remove(0);
10 // command.run(userInput); ?!
11 }

第 8 行: RunnableCommand 是一个提供 run() 方法的接口(interface),由表示命令的每个类实现(受策略模式启发)。

第 10 行:这就是问题所在。每个“命令类”的 run() 方法可以有 1、2 或 3 个字符串作为输入。

有没有办法将 userInput 的每个元素作为 run() 方法的输入?

最佳答案

像这样实现 run 方法:

public void run(String... commands) {
...
}

您可以通过传递数组或逗号分隔参数来调用它。

command.run(input1);
command.run(input1, input2);
command.run(input1, input2, input3);

command.run(userInput.toArray(new String[0]);

关于Java:将 List<String> 转换为方法(String、String、String)的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31501135/

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