gpt4 book ai didi

java - Java中有参数树的实现吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:29 26 4
gpt4 key购买 nike

Java 程序需要一长串输入(参数),稍微搅动一下并吐出一些输出。

我需要一种方法来以合理的方式组织这些参数,因此在输入 txt 文件中我想这样编写它们:

parameter1 = 12
parameter2 = 10
strategy1.parameter1 = "goofy"
strategy2.parameter4 = 100.0

然后读取这个txt文件,将其转换为一个Java对象,我可以在实例化对象时将其传递给对象。

我现在 pyqtgraph 有 ParameterTree 使用起来很方便; Java中有类似的东西吗?我确信其他人也一定有同样的需求,所以我不想重新发明轮子。

(其他树结构也可以,当然,我只是想要一些易于阅读的东西)

最佳答案

一种方法是转动 input.txt进入input.json :

{
"parameter1": 12,
"parameter2": 10,
"strategy1": {
"parameter1": "goofy"
},
"strategy2": {
"parameter4": 100.0
}
}

然后使用 Jackson反序列化input.json进入其中之一:

  1. 一个Map<String, Object>实例,您可以深入导航以获取所有参数
  2. 您自己的某个类的实例,它模仿 input.json的结构,您的参数所在的位置
  3. 一个JsonNode作为树根的实例

(1) 的优点是它很简单,您不必创建任何类来读取参数,但是您需要遍历映射,向下转换从中获得的值,并且您需要提前知道键(键与 json 对象的属性名称匹配)。

(2) 的优点是反序列化时所有内容都可以正确输入;不需要向下转换任何内容,因为每种类型都是您自己的类的一个字段,它代表参数的结构。但是,如果您的 input.json 的结构文件更改后,您还需要更改类的结构。

(3) 是其中最灵活的,我相信它是最接近您的想法的选项,尽管如此,使用起来也是最乏味的,因为它的级别太低了。请引用this article了解更多详情。

关于java - Java中有参数树的实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400849/

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