1、map.get(key).toString()这句话没有出错的话,没有空指针错误的话,他就不是NULL的。
hashmap中key值是唯一的,但value是不唯一的,所以是没有办法通过像get(key)取value值一样,直接取key的 值。所以当map中没有重复值时,根据value取得key是唯一的,但是要自己写一个 *** 来读取。
楼主,通过map.get(key)的意思是得到键所对应的值,如果你想得到单纯的键的话,那你调用keySet() *** ,然后通过迭代取出键。。
你可以去判断一下是不是NULL,不是的话,看一下他的Length。map.get(key).toString()这句话没有出错的话,没有空指针错误的话,他就不是NULL的。看一下他的LENGTH等等。用s.trim().length() == 0 来判断看看。
map接口的key-value映射关系中,key或value允许为null由具体实现决定。put *** 必须有个返回值,该返回值用来暗示map容器中是否已存在相同的key。一般情况,如果key已存在,则替换旧的value并返回它,否则创建映射并返回null。
因为toArray()返回的类型就是Object[]类型的,与map中进行的操作无关。
java的容器中可以放基本的数据类型,但是是以包装类的形式,如int 在 容器中是先包装成Integer,再转变成Object存放。 *** 中也可以放类的实例化对象。
所以是不相等,得到的肯定是null。如果你的RecordID对象用Integer或是String等已经从新实现了的equals *** 的类型代替,就可以直接new了。
fun(Object a){}的时候 你用String做a也可以,用YourClass自定义的类做a等都可以。。而你如果只是 fun(String a){ }的话,就只能用String来做参数a。
你可以直接造一个新的RecordID给get这个 *** ,前提是你必须实现RecordID的equals *** 和hashcode *** ,用来比较两个对象是否相等,默认的equals *** 是比较的地址。所以是不相等,得到的肯定是null。
get(Object key)返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。
HashMap 采用一种所谓的“Hash 算法”来决定每个元素的存储位置。
HashMapString, String mp = new HashMapString, String();mp.put(123, hello);通过这样的方式,在调用mp.get(123); 的时候你就可以得到hello了。也就是说通过put函数来给HashMap添加键和其对应的值。