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

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

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

containskey是hashmap的方法

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

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

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

这是源码的解释:
/**
* 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