2 neu huang neu_huang 于 2016.02.26 11:45 提问

JSONOject对象中has方法与containskey 方法的区别?

项目开发中,使用JSONObject解析json消息,判断json消息中是否包括某个key时,使用has方法、containskey方法都能实现。但是想知道这两个方法有什么区别,或有什么优劣。在官方文档中查阅,只找到了has方法的介绍:Determine if the JSONObject contains a specific key. 望知道的大牛帮忙解惑。

6个回答

devmiao
devmiao   Ds   Rxr 2016.02.26 12:43

containskey是hashmap的方法

Royal_lr
Royal_lr   Ds   Rxr 2016.02.26 13:30

containsKey是map中的方法,,都是查看是否包含这个key的,,

neu_huang
neu_huang   2016.02.26 15:03

图片说明
实际使用中确实遇到了,JSONObject的方法

sinat_30700567
sinat_30700567   2016.11.22 15:43

containsKey是net.sf.json.JSONObject里面的方法

user_86
user_86   2017.07.26 14:54

这是源码的解释:
/**
* Returns true if this object has a mapping for {@code name}. The mapping
* may be {@link #NULL}.
*/
public boolean has(String name) {
return nameValuePairs.containsKey(name);
}

大概意思是:如果返回true,则映射这个对象的名字,可以为null

Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.26 12:30

org.json.JSONObject没有containsKey这个方法啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!