Map map = new HashMap();
map.put("1", "A");
map.put("2", "A");
map.put("3", "A");
map.put("4", "A");
String a = map.get("5").toString();
System.out.println(a);上面的代码必然会发生空指针错误,现在我想在map如果get不出对象时,把某一个值变成0(比如说a)。不想用if (map.get("5") != null) 来判断。因为我有10来个map,互相取值,并且里面放的是object类型。。咋解决啊快愁死我了
map.put("1", "A");
map.put("2", "A");
map.put("3", "A");
map.put("4", "A");
String a = map.get("5").toString();
System.out.println(a);上面的代码必然会发生空指针错误,现在我想在map如果get不出对象时,把某一个值变成0(比如说a)。不想用if (map.get("5") != null) 来判断。因为我有10来个map,互相取值,并且里面放的是object类型。。咋解决啊快愁死我了
a=o;
}
不知道是不是你想要的
for(int i=0;i<10;i++) {
map.put(""+i, "0");
}
那这样直接看它的size啊
map.put("1", "A");
map.put("2", "A");
map.put("3", "A");
map.put("4", "A");
String a = map.get("5") == null?"0":map.get("5").toString();
System.out.println(a);
‘有对象就返回‘的意思就是,如果能get出对象(有可能是string,也有可能是bean),就继续作处理,如果不能的话,就返回0to 7楼:
这种做法,行是肯定行,但问题是怎么给他共同化。函数的返回类型是什么?object?然后再强转?
你自己定义个方法给封装下不就Ok了。
如:public String Null2Zerro(Object obj) {
return obj== null?"0":obj.toString();}你再读map值的时候调用这个方式即可。
如: Null2Zerro(map.get("5"));
效率问题你基本不用考虑。不会慢的
boolean containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true,否则返回false1楼正解喵~```
其实这位写的就很好了..如果你感觉还有其他的类型不对的,,你也可以自己强制转型.因为你知道是什么类型的吧或者这样
自己写个规则,比如
这么写
public int Null2Zerro(Object obj){
if obj == null return 0;
if(obj instansof Integer) return 1;
if(obj instansof String ) return 2;
.....
}
return obj== null?"0":obj.toString(); }
难啊
很奇怪为什么楼主坚持不用1楼的办法喵~```