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
|