gpt4 book ai didi

java - SnakeYaml 多次引用对象的同一实例

转载 作者:行者123 更新时间:2023-12-01 15:12:20 33 4
gpt4 key购买 nike

在列表内部,我想多次引用同一个实例对象:

- text: Here is an object with some data that will allow an image to be generated
image: &FirstIm
imageType: ABC
otherTypE: CB
- text: Later on, lets show you the same image again!
image: *FirstIm

我正在做的是使用提供的属性生成图像并将其缓存在图像对象中。由于具体实现的原因,我无法再次生成图像,所以我想回顾一下图像对象的具体实例。

不幸的是,snakeYAML 将上述内容视为“哦,所以您想要另一个对象,但具有与 FirstIm 相同的属性”,因此当我检查第二个图像对象缓存时,其中没有任何内容。我需要的行为是“你再次想要 FirstIm,好吧,我把它放在那里”。

是否有任何方法可以实现此目的,而无需在图像对象中使用某种字符串来引用某些更高级别的缓存?

希望这是有道理的......

最佳答案

我认为您的代码中存在一些问题,或者我仍然不明白这个问题,因为您问题中的 yaml 通过了测试。

无法在注释中添加代码。所以就在这里。

import java.util.List
import java.util.Map
...
Yaml yaml = new Yaml();
List load = yaml.loadAs("- text: Here is an object with some data that will allow an image to be generated\n image: &FirstIm\n imageType: ABC\n otherTypE: CB\n- text: Later on, lets show you the same image again!\n image: *FirstIm", List.class);
assertSame(((Map)load.get(0)).get("image"), ((Map)load.get(1)).get("image"));

关于java - SnakeYaml 多次引用对象的同一实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12163769/

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