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类型。。咋解决啊快愁死我了

解决方案 »

  1.   

    if(map.containsKey("")){
    a=o;
    }
    不知道是不是你想要的
      

  2.   

    行不通吧  你要get必须先有这个东西 也就是先有映射关系 后有index或者说key的换个角度说下  map是容器  是可变容量的  不是数组  所以我觉得...
      

  3.   

    现做个默认的初始化工作。Map<String,String> map = new HashMap<String,String>();
    for(int i=0;i<10;i++) {
        map.put(""+i, "0");
    }
      

  4.   

    那10个元素之后怎么办呢...我觉得没必要了  呵呵 要我说 还不如在数组里面搞完了  在直接存到map里算了
      

  5.   

    默认的初始化的工作肯定是不行的因为我map不是我生成的我现在就是想做个共同的方法,调用一下,有对象就返回,没有的话,就返回0。
      

  6.   

    什么叫有对象就返回啊?  如果这个map是空的就返回0?还是什么啊?
    那这样直接看它的size啊  
      

  7.   

    那这样成吗?     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") == null?"0":map.get("5").toString();
        System.out.println(a); 
      

  8.   

    to 6楼:
    ‘有对象就返回‘的意思就是,如果能get出对象(有可能是string,也有可能是bean),就继续作处理,如果不能的话,就返回0to 7楼:
     这种做法,行是肯定行,但问题是怎么给他共同化。函数的返回类型是什么?object?然后再强转?
      

  9.   

    就是返回字符啊
    你自己定义个方法给封装下不就Ok了。
    如:public String Null2Zerro(Object obj) {
        return obj== null?"0":obj.toString();}你再读map值的时候调用这个方式即可。
    如: Null2Zerro(map.get("5"));
    效率问题你基本不用考虑。不会慢的
      

  10.   

    API关于Map的方法摘要:
    boolean containsKey(Object key) 
    如果此映射包含指定键的映射关系,则返回 true,否则返回false1楼正解喵~```
      

  11.   

    我仔细得想了想,还是不行。因为map里得值有可能是String,也有可能是Bean,问题还是不好解决
      

  12.   


    其实这位写的就很好了..如果你感觉还有其他的类型不对的,,你也可以自己强制转型.因为你知道是什么类型的吧或者这样
    自己写个规则,比如
    这么写
      public int Null2Zerro(Object obj){
        if obj == null return 0;
        if(obj instansof Integer) return 1;
        if(obj instansof String ) return 2;
        .....
    }
      

  13.   

    public String Null2Zerro(Object obj) { 
        return obj== null?"0":obj.toString(); } 
    难啊
      

  14.   

    String a = map.containsKey(obj)?map.get(obj):"0";
    很奇怪为什么楼主坚持不用1楼的办法喵~```