Java Yaml文件读取对象模糊性

Java Yaml文件读取对象模糊性,java,yaml,equals,contains,Java,Yaml,Equals,Contains,我对从yaml反序列化的对象有问题。我创建了一组类来对yaml文件进行建模,以便在读取文件时可以将内容映射到对象中。现在的问题是,我有相同的对象,一个在列表中,一个在外,但对于运行时环境,它们彼此不同,具有裸体相等,而不具有属性比较。这里是代码的片段。非常感谢 public String changeKey(String richiedente, String apikey) throws IOException { ObjectMapper mapper= new ObjectMap

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

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个打印示例中打印为真,但等于并包含打印为假

这是控制台


我修复了重写equals方法的问题,然后contains方法又开始工作了。

欢迎使用SO!事实上,这个问题不能使我们帮助你解决你的问题。它缺少一个明确的问题陈述——您展示了一些代码,但没有告诉我们它做了什么和应该做什么。我也不太理解你课文中的问题陈述。然后,Yaml是SnakeYaml中的主类,但是您似乎已经用这个名称创建了自己的类,这很混乱,您应该更改它,以便更清楚地了解您正在做什么。最后,您应该创建一个模型,以便我们可以复制您正在做的事情。