gpt4 book ai didi

java - 在 Java 中使用泛型过滤集合

转载 作者:搜寻专家 更新时间:2023-11-01 03:24:53 25 4
gpt4 key购买 nike

我有以下类型的集合:

Collection<GenericMessage<Collection<Client>>>;

Collection<GenericMessage<Client>>;

Collection<GenericMessage<SearchResponse<Client>>>;

和一个Collection<Client> filteredClients .

我得到一个对象:

Collection<GenericMessage<?>> resObject = (Collection<GenericMessage<?>>) response.getEntity();

我需要从响应对象中筛选出没有出现在 filteredClients 中的客户端,它可以是上述集合类型之一。

有没有一种干净的方法来做到这一点?

GenericMessage 看起来像这样:

public class GenericMessage<T> {
T object;

public T getObject(){
return object;
}
public void setObject(T object){
this.object = object;
}
}

客户端看起来像这样:

public class Client extends Base

SearchResponse 看起来像这样:

public class SearchResponse<T> extends Base{
List<T> results;

public List<T> getResults() {
return results;
}

public void setResults(List<T> results) {
this.results = results;
}
}

最佳答案

 if (!resObject.isEmpty()){
GenericMessage<?> firstMessage = resObject.iterator().next();
Object first = firstMessage.getObject();
if (first instanceof Client){
// do Client stuff
}else if (first instanceof SearchResponse){
// do SearchResponse
}else if (first instanceof Collection){
// blah
}else{
// error?
}
}

关于java - 在 Java 中使用泛型过滤集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17067053/

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