db.updateNote(new Integer(form.getNoId())  这个方法调用db包里updateNote(int id, )的方法 ,报错是int不符合Integer,但我在eclipse里引入别人的工程,里面明明也是这么用的,没有任何错误,这是怎么回事,需要什么再引入什么包,建个什么类吗?

解决方案 »

  1.   

    jdk版本的问题,1.5以后可以自动转换,而此版本以前的不行
      

  2.   

    updateNote(int id, )  你这个方法括号里的参数后面的逗号是怎么回事?是你写错了 还是本身代码就这样?如果是这样的话会不会跟这个逗号有关系呢?
      

  3.   

    Integer.parseInt(s)用这个转化出来的是int
      

  4.   

    用Integer.parseInt(s)确实能解决,但就是不明白为什么别的工程里这么写没错误.
      

  5.   

    请仔细你看1楼的说明,你用的是JDK1.4或更低,不支持这种写法!
      

  6.   

    我用的是JDK1.5 不是版本问题 版本问题不可能别的程序就可以啊
      

  7.   

    改成 db.updateNote(new Integer(form.getNoId()).intValue())就可以拉 
      

  8.   

    可能你的机器中存在jdk4,看看eclipse指定的jdk是5还是4
      

  9.   

    嗯 intValue()也可以 但引入的那个程序咋就能自动转换呢
      

  10.   

    Integer.parseInt(s) 一般都是用这种方法!!
     楼上正解!
      

  11.   

    如果你所调用方法的形参是int,而在使用的时候是用Integer,则应转换:Integer.ParseInt(Integer类型),返回的是int,相反可用Integer.valueof()返回Integer类型。
    也就是说
    将Integer转换成int   用      Integer a; 
                               int b = a.intValue();将int转换成Integer  用       int a = 0 ;
               Integer I = Integer.valueOf(a);
      

  12.   

    int和Integer的区别```
    类型的转换问题
      

  13.   

    虽然还是没搞清不能new integer()直接转换的原因,但基本明白了,谢谢。