Java 整数哈希集 公共类MyClass扩展了另一个类{ 公共MyClass(哈希集ar){ 超级(ar); } }
Java 整数哈希集 公共类MyClass扩展了另一个类{ 公共MyClass(哈希集ar){ 超级(ar); } },java,generics,inheritance,abstract-class,hashset,Java,Generics,Inheritance,Abstract Class,Hashset,AnotherOne是一个抽象(泛型)类,它有一个构造函数,该构造函数将HashSet作为参数。然后还有另一种方法,它使用T类型作为参数 一切正常,但我必须使用Integer作为参数来覆盖该方法,并且使用Integer而不是int似乎很奇怪。有办法使用基元int吗?没有,不能对哈希集使用基元int 这也适用于所有其他泛型集合类。否,不能对哈希集使用基元int 这也适用于所有其他泛型集合类。否,泛型不能将基元类型作为泛型类型参数;它必须是引用类型,例如Integer 此外,您正在声明一个泛型类型参
AnotherOne
是一个抽象(泛型)类,它有一个构造函数,该构造函数将HashSet
作为参数。然后还有另一种方法,它使用T
类型作为参数
一切正常,但我必须使用
Integer
作为参数来覆盖该方法,并且使用Integer
而不是int
似乎很奇怪。有办法使用基元int吗?没有,不能对哈希集使用基元int
这也适用于所有其他泛型集合类。否,不能对哈希集使用基元int
这也适用于所有其他泛型集合类。否,泛型不能将基元类型作为泛型类型参数;它必须是引用类型,例如
Integer
此外,您正在声明一个泛型类型参数Integer
,该参数现在隐藏了实际的java.lang.Integer
类。如果MyClass
本身不是泛型的,则将其从类中删除:
public class MyClass<Integer> extends AnotherOne<Integer> {
public MyClass(HashSet<Integer> ar) {
super(ar);
}
}
公共类MyClass扩展了另一个类
如果是,请使用单个大写字母作为泛型类型参数:
public class MyClass extends AnotherOne<Integer>
公共类MyClass扩展了另一个类
否,泛型不能将基元类型作为泛型类型参数;它必须是引用类型,例如Integer
此外,您正在声明一个泛型类型参数Integer
,该参数现在隐藏了实际的java.lang.Integer
类。如果MyClass
本身不是泛型的,则将其从类中删除:
public class MyClass<Integer> extends AnotherOne<Integer> {
public MyClass(HashSet<Integer> ar) {
super(ar);
}
}
公共类MyClass扩展了另一个类
如果是,请使用单个大写字母作为泛型类型参数:
public class MyClass extends AnotherOne<Integer>
公共类MyClass扩展了另一个类
可以,但使用整数安全吗?有一个获取参数的方法public void method(整数i,整数k)看起来很奇怪,因为它是安全的。在我看来这并不奇怪。或者,您可以将int传递给方法,但可以转换为Integer并将Integer添加到集合中。取决于您的具体用例和首选项。好的,但使用Integer安全吗?有一个获取参数的方法public void method(整数i,整数k)看起来很奇怪,因为它是安全的。在我看来这并不奇怪。或者,您可以将int传递给方法,但可以转换为Integer并将Integer添加到集合中。取决于您的具体用例和偏好。是否有任何问题?@Leo如果值得一提,请将其放入答案中?是否有任何问题?@Leo如果值得一提,请将其放入答案中?