java吧 关注:1,215,258贴子:12,662,083

请问为什么Interger这里报错

只看楼主收藏回复



最近在学java泛型,上面是按书上在eclipse敲的例题,不知道为什么Integer这里会报错。。。
请问哪位大佬可以解答一下吗


1楼2018-08-26 17:51回复
    不应该错的才对,可能是eclipse的问题


    IP属地:广东来自Android客户端2楼2018-08-26 18:07
    回复
      语法没错


      来自Android客户端3楼2018-08-26 18:27
      回复
        如果没猜错,你把报错的一行注释掉,下一行会报错


        IP属地:山东来自Android客户端4楼2018-08-26 18:40
        回复
          传的值是int类型的数据的原因吧,你都不把错误堆栈截图贴出来,别人怎么帮你呢?


          IP属地:湖北5楼2018-08-26 18:58
          回复
            把2换成integer类型


            来自Android客户端7楼2018-08-26 19:05
            回复
              提示的很清楚了,你限制了类型为Integer,又把int值传进去了,可能是没有自动装箱的缘故吧……把2改成Integer.valueOF(2)
              试试


              IP属地:湖北来自Android客户端8楼2018-08-26 19:07
              收起回复
                你把2去掉,应该就可以了。


                IP属地:浙江来自iPhone客户端9楼2018-08-26 21:06
                收起回复
                  class GeneralType<Type> {
                  Type object;
                  public GeneralType(Type object) {
                  this.object = object;
                  }
                  public Type getObj() {
                  return object;
                  }
                  }
                  class ShowType {
                  public void showType(GeneralType<?> o) {
                  //public void showType(GeneralType<Type> o) {
                  System.out.println(o.getObj().getClass().getName());
                  }
                  }
                  public class Test {
                  public static void main(String[] args) {
                  ShowType st = new ShowType();
                  GeneralType<Integer> i = new GeneralType<Integer>(Integer.valueOf(2));
                  GeneralType<Double> y = new GeneralType<Double>(0.33);
                  GeneralType<String> s = new GeneralType<String>("hello");
                  st.showType(i);
                  st.showType(y);
                  st.showType(s);
                  }
                  }
                  文字版代码如上

                  图片版
                  与贴头不一样的是改了报错那行的参数,改成了Integer.valueOf(2) 结果还是报错。。
                  这个程序看起来语法什么的没什么问题,但这里报错真的很不解……感谢以上各位大佬的解答,虽然我是小白一枚,就算不是很懂,也还是想知道问题错哪了!


                  10楼2018-08-26 23:26
                  收起回复
                    用Integer.parseInt(2)试试


                    IP属地:山东来自Android客户端11楼2018-08-26 23:54
                    收起回复
                      看一下你的jdk版本 还有项目的jre库啥的


                      IP属地:湖北来自Android客户端12楼2018-08-26 23:59
                      回复
                        语法真的没问题了,应该是ide或者jdk的问题


                        IP属地:湖北来自Android客户端13楼2018-08-27 00:02
                        回复(2)
                          清理下项目试试,曾经帮一个实习生写过代码,他的环境只要不清理很容易报错,莫名其妙的感觉。


                          IP属地:安徽14楼2018-08-27 08:47
                          收起回复
                            此Integer可能不是java.lang.Integer,看看是不是引入错了


                            IP属地:上海来自iPhone客户端15楼2018-08-28 07:48
                            回复
                              parse


                              IP属地:重庆来自Android客户端16楼2018-08-28 08:01
                              回复