在调用下面方法时,抛出:java.lang.String incompatible with java.lang.Integerpublic int getInt(String key)
{
        Object obj = datamap.get(key);
        
        if(obj!=null)
        {
         return Integer.parseInt(obj.toString());
        }
        return 0;
}

解决方案 »

  1.   

    你是使用String str = getInt(...)写法吧这样肯定不对啊
      

  2.   

    不是整数的时候,报的错误应该是:java.lang.NumberFormatException: For input string: "你输入的字符串"
      

  3.   


    兄弟,这低级的错误,我就是不懂这样写了,Eclipse的编辑器都会通不过的啊。
    我写的是 int a = getInt("123");另外之个方法在两台机器上运行,其中一台是正确的,另外一台XP SP3的运行就是提示这样的错误。
      

  4.   


    这个本来是一个就简单的方法,没什么技巧性的代码。我就是只用了一个int a = getInt(...)。 这代码目前为止在企业内部上百台机器经过有1年的时间运行过了,都没有问题,今天在这台XP SP3上就出现这样的问题,写了2年的Java代码,遇到的异常也不少,但还没遇到过这种异常,这里上不了Google查不了资料,CSDN和JavaEye也没有这种异常的说明,所以很奇怪,上来发帖问一下强人们是否遇到过这种异常,有可能是什么情况导致的。
      

  5.   

    人家说的整数是指字符串内容是整数像“123”  而不是整Integer类型
    你是不是输入了类似“12a” 或者“12.3” 之类的啊
      

  6.   


    不是,你说的这种,前面兄弟说过了,但输入这种是百分百要出错的,异常信息是:java.lang.NumberFormatException: For input string: 。
      

  7.   

    我的异常是:java.lang.String incompatible with java.lang.Integer 
      

  8.   

    所有的机器JDK都是一样,从同一个安装源统一安装的JDK1.5
      

  9.   

    在写Integer.parseInt(obj.toString()); 这句话时你应该try,chatch一下,就万事大吉了,这段代码还是挺危险的。
      

  10.   

    Integer:可以为NULL
    int : 不可以为NULL
      

  11.   

    你的字符串是1,2,3等数字应该是没问题,不过要是a,b等字母就不一定了,你把代码弄的这么麻烦不就是要返回一个int类型的数吗,那你还不如把参数设置成int的哪