Unboxing issues

醉酒当歌 提交于 2019-11-30 23:22:53

This is because you have <Integer> after SortedList.

Usually you use T for type parameters: class SortedList<T>, but you used Integer instead. That is, you made Integer a type parameter (which shadows the java.lang.Integer).

Your class, as it stands, is equivalent to

class SortedList<T> extends LinkedList<T> {
      int intMethod(T integerObject){
          return integerObject;         // <--  "Cannot convert from T to int"
      }
}

Remove the type parameter and it works just fine:

class SortedList extends LinkedList<Integer> {
      int intMethod(Integer integerObject){
          return integerObject;
      }
}

The problem is that you've declared Integer as a generic type parameter for the SortedList class. So when you refer to Integer as a parameter of the intMethod method, that means the type parameter, not the java.lang.Integer type which I suspect you meant. I think you want:

class SortedList extends LinkedList<Integer> {
    int intMethod(Integer integerObject){
        return integerObject;
    }
}

This way a SortedList is always a list of integers, which I suspect is what you were trying to achieve. If you did want to make SortedList a generic type, you would probably want:

class SortedList<T> extends LinkedList<T> {
    int intMethod(Integer integerObject){
        return integerObject;
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!