gpt4 book ai didi

java - 通用捕获

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:10 26 4
gpt4 key购买 nike

<分区>

我想弄清楚为什么编译器会抛出错误

test(capture<? extends Serializable>) in Predicate cannot be applied to (Serializable)

test(e.getValue().getData())以及我该如何解决这个问题。

抛出编译错误的代码如下

private Map<Predicate<? extends Serializable>, TaggedData<? extends Serializable>> scheduledData = new HashMap<>();

public synchronized <T extends Serializable> void conditionalSend(String tag, T data, Predicate<T> condition) {
scheduledData.put(condition, new TaggedData<T>(tag, data));
scheduledData.entrySet()
.stream()
.filter(e -> e.getKey().test(e.getValue().getData()))
.forEach(e -> send(e.getValue()));
}

我的 TaggedData 类是这样定义的

class TaggedData<T extends Serializable> implements Serializable {
private static final long serialVersionUID = 1469827769491692358L;

private final String tag;
private final T data;

TaggedData(String tag, T data) {
this.tag = tag;
this.data = data;
}

String getTag() {
return tag;
}

T getData() {
return data;
}
}

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