Java If语句依赖于传递的命令行分段?
我的Java If语句依赖于传递的命令行分段?,java,arrays,spring,arguments,main,Java,Arrays,Spring,Arguments,Main,我的spring boot应用程序可以从命令行运行,并将参数作为参数传递 我想设置我的main方法,这样,如果用户将“a”作为参数传递,则会运行任务a。如果它们将“b”作为参数传递,则运行任务b 我目前正在使用以下方法实现此功能: if(args.toString().contains("a")){ //run task A } 是否有更好的方法来实现这一点/上述实现是否正确 完整跑步者等级: @Component public class MyRunner implements Comman
spring boot
应用程序可以从命令行运行,并将参数作为参数传递
我想设置我的main方法
,这样,如果用户将“a”作为参数传递,则会运行任务a。如果它们将“b”作为参数传递,则运行任务b
我目前正在使用以下方法实现此功能:
if(args.toString().contains("a")){
//run task A
}
是否有更好的方法来实现这一点/上述实现是否正确
完整跑步者等级:
@Component
public class MyRunner implements CommandLineRunner {
//other code
@Override
@Transactional
public void run(String... args) throws Exception {
if(args.toString().contains("a")){
//run task A
}
if(args.toString().contains("b")){
//run task B
}
}
}
args.toString
不是您想要的,它将返回数组的toString,类似于:[Ljava.lang.String;@15db9742
这更有可能是您想要的:
for(String arg : args) {
if(arg.equals("a")) { // or .contains
// run task A
}
}
args.toString
不是您想要的,它将返回数组的toString,类似于:[Ljava.lang.String;@15db9742
这更有可能是您想要的:
for(String arg : args) {
if(arg.equals("a")) { // or .contains
// run task A
}
}
我会寻找更好的方法来解析传入的参数。因为你这样做会有很多误报。例如,如果用户通过“basket”怎么办作为一个参数…看这个。这是一个重复。我会检查更好的方法来解析传入的参数。因为你这样做会有很多误报。例如,如果用户通过“basket”怎么办作为一个论点……看这个。这是一个复制品。注意,因为你没有跳过任何参数,所以我也不清楚为什么你会跳过第一个。我觉得很困惑,我认为C++,第一个论点是完整的命令,用增强的方式来避免跳过任何参数。它也是叔叔。告诉我为什么你会不想跳过第一个。我觉得很困惑,我认为C++,第一个参数是完整的命令。