gpt4 book ai didi

java - 如何从命令行获取值到 pojo 列表

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

我有一个像这样的主要方法:

 public static void main(String[] args) {

// Implement null checks
ProfileData profileData = new ProfileData();


try {
profileData.setaJIO(args[0]!=null?args[0]:"");
profileData.setAutopayCreated(args[1]!=null?args[1]:"");

}catch(Exception e){
e.printStackTrace();
}
}

我有一个 ProfileData 对象,它是一个 PoJo 并且有大约 100 个条目,我希望从命令行加载这个对象,但是在 main 方法中手动填充所有这些条目变得很乏味。有没有办法在 for 循环中执行此操作?

但是我卡在了如何在 main 方法中基于索引引用 pojo 及其元素的问题上?任何帮助将不胜感激

看一些允许我在下面的代码片段中引入循环的东西:

 try {
profileData.setaJIO(args[0]!=null?args[0]:"");
profileData.setAutopayCreated(args[1]!=null?args[1]:"");

}catch(Exception e){
e.printStackTrace();
}

最佳答案

在 Kotlin 中你可以这样写:

class Test(map: Map<String, Any?>) {
val name: String by map
val age: String by map

override fun toString(): String {
return "Test[$name, $age]"
}
}

fun parseArgs(args: Array<String>): Test {
val zipArgs: List<Pair<String, String>> = args.zip(args.drop(1))

val paramMap = zipArgs.mapNotNull { (name, param) ->
if (!name.contains("-"))
return@mapNotNull null

name.substringAfter("-") to param
}.toMap()

return Test(paramMap)
}

fun main(args: Array<String>) {
val testArgs = arrayOf("-name", "testName", "-age", "123")

val test = parseArgs(testArgs)

println(test)
}

关于java - 如何从命令行获取值到 pojo 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42717880/

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