gpt4 book ai didi

java - 如何检查 List 是否包含键?

转载 作者:行者123 更新时间:2023-12-02 05:33:35 25 4
gpt4 key购买 nike

我有一个构建 HttpResponse 初始值设定项的类。在应返回 BasicNameValuePair 的方法之一中,我必须检查列表中是否存在具有由字符串“name”指定的键或名称的条目。

public List<BasicNameValuePair> getPostPairs() {
if(mPostPairs == null || mPostPairs.size() < 1) {
throw new NullPointerException(TAG + ": PostPairs is null or has no items in it!");
}

//there is no hasName() or hasKey() method :(
if(!mPostPairs.hasName("action")) {
throw new IllegalArgumentException(TAG + ": There is no 'action' defined in the collections");
}

return mPostPairs;
}

如何做到这一点?如果 BasicNameValuePair 无法实现,那么有什么替代方案?子类化并添加方法?

我需要将其用于 HttpPost,其 setEntity 仅接受此类型:

public UrlEncodedFormEntity (List<? extends NameValuePair> parameters)

最佳答案

看来mPostPairsList<BasicNameValuePair> ,而列表不知道存储的是什么类型的对象,可以迭代它并检查

boolean finded = false;
for (BasicNameValuePair pair : mPostPairs) {
if (pair.getName().equals("action")) {
finded = true;
break;
}
}
if (finded)
return mPostPairs;
else
throw new IllegalArgumentException(TAG + ": There is no 'action' defined in the collections");

或更短:

for (BasicNameValuePair pair : mPostPairs) 
if (pair.getName().equals("action"))
return mPostPairs;
throw new IllegalArgumentException(TAG + ": There is no 'action' defined in the collections");

关于java - 如何检查 List<BasicNameValuePair> 是否包含键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25276093/

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