gpt4 book ai didi

java - ClassCastException 字符串到 MValue,java 8

转载 作者:行者123 更新时间:2023-11-30 03:09:59 25 4
gpt4 key购买 nike

我有一个界面

public interface MValue extends SomeOtherInterface, Serializable

我在另一个界面中使用它,就像这样

    public interface DomainObject extends Iterable<FieldValueAssociation>, Cloneable, Serializable {
void add(DomainField field, MValue... values);
<T> T get(DomainField field);
}

当我在我设置的其他类(class)中调用它时

subDomain.add(DomainField.ZIP, d.get(DomainField.ZIP));

在java 7上这工作正常,但在java 8上我得到java.lang.ClassCastException:java.lang.String无法转换为net.blabla.domain.MValue

d.get(DomainField.ZIP)应该返回 String,确实如此,但它不能转换为 MValue,我不知道为什么?有人可以解释一下或让我引用一些文档吗?谢谢。

最佳答案

那么这有效吗?

subDomain.add(DomainField.ZIP, d.<String>get(DomainField.ZIP));

这里我明确地将 T 的类型指定为 String,尽管如此,类型检查仍然会发生,但它向编译器明确了预期的内容。此调用应该适用于 Java 7 和 8。

关于java - ClassCastException 字符串到 MValue,java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802372/

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