Java 泛型:类型不适用于参数
使用泛型,编译器应该在运行时推断对象T的类型,但是它给了我一个静态冲突,如标题中所述,我无法(使用其他问题)解决这个问题 以下是我的方法:Java 泛型:类型不适用于参数,java,algorithm,generics,Java,Algorithm,Generics,使用泛型,编译器应该在运行时推断对象T的类型,但是它给了我一个静态冲突,如标题中所述,我无法(使用其他问题)解决这个问题 以下是我的方法: public static <T> boolean linearSearchIterative(T[] array, T obj) { for(int i = 0; i < array.length; i++) { if(array[i].equals(obj)) { return true;
public static <T> boolean linearSearchIterative(T[] array, T obj) {
for(int i = 0; i < array.length; i++) {
if(array[i].equals(obj)) {
return true;
}
}
return false;
}
Java中的泛型仅适用于引用类型,而不适用于基元类型。 将正在运行的代码更改为:
Byte x[] = {2, 3, 5, 6, 1}; // or Integer
Byte y = 1; // or Integer
Java中的泛型仅适用于引用类型,而不适用于基元类型。 将正在运行的代码更改为:
Byte x[] = {2, 3, 5, 6, 1}; // or Integer
Byte y = 1; // or Integer
使用整数而不是整数基元不是对象。您可能需要整数[]和Integeruse Integer,而不是intPrimitives不是对象。您可能需要一个整数[]和整数我使用了
Integer
和int
,出于某种原因,我不需要变量y使用Integer
,有人知道为什么吗?因为Java 5名为autoboxing的特性。字节或整数在这里并不重要。所有数字都适合字节。我使用了Integer
和int
,出于某种原因,我不需要变量y使用Integer
,有人知道为什么吗?因为Java 5名为autoboxing的特性。字节或整数在这里并不重要。所有的数字都符合字节。