Objective-C
OC
中,不能对 NSMutableDictionary
设置 nil
,使用 setObject
方式设置 nil
的话,会报错;而通过字面量的方式去设置 nil
,可以避免报错。
1 2 3 4 5
| NSMutableDictionary *dic = [NSMutableDictionary dictionary]; dic[@"fake_nil"] = nil; dic[@"fake_nil2"] = [NSNull null];
[dic setObject:nil forKey:@"fake_nil3"];
|
Java
Java
可以对某个 key
设置一个 null
值,不会报错,会影响 map.containsKey
的返回值。
1 2 3 4 5 6 7 8
| Map<String, Object> map = new HashMap<String, Object>(); map.put("str", "str"); map.put("fake_null", null); System.out.println(map.get("str") instanceof String); System.out.println(map.containsKey("real_null")); System.out.println(map.containsKey("fake_null")); System.out.println(map.get("real_null")); System.out.println(map.get("fake_null"));
|
1 2 3 4 5
| true false true null null
|