Yaml文件读取对象模糊

问题描述 投票:0回答:1

我对从yaml反序列化的对象有问题。我做了一组类来模拟yaml文件,所以当我读取文件时,我可以将内容映射到一个对象。现在,问题是我有相同的对象,一个在List中,一个在out,但对于运行时环境,它们彼此不同,裸体等于而不是属性比较。这里有代码的片段。非常感谢。

public String changeKey(String richiedente, String apikey) throws IOException {

    ObjectMapper mapper= new ObjectMapper(new YAMLFactory());

    Yaml yaml = mapper.readValue(new File(domainYaml), new TypeReference<Yaml>() {});

    String newApiKey = null;

    YamlSistRichiedenti sistemaRichiedenteOld = new YamlSistRichiedenti(richiedente, apikey);

    System.out.println(yaml.server.sistemiRichiedenti.contains(sistemaRichiedenteOld));
    System.out.println(yaml.server.sistemiRichiedenti.get(0).equals(sistemaRichiedenteOld));
    System.out.println(yaml.server.sistemiRichiedenti.get(0).apikey.equals(sistemaRichiedenteOld.apikey));
    System.out.println(yaml.server.sistemiRichiedenti.get(0).richiedente.equals(sistemaRichiedenteOld.richiedente));

这应该在所有4个打印示例中打印为true,但是等于并包含print false。

这里有控制台打印

java yaml equals contains
1个回答
1
投票

我修复了覆盖equals方法,然后contains方法再次起作用。

© www.soinside.com 2019 - 2024. All rights reserved.