【发布时间】:2021-10-17 08:26:37
【问题描述】:
public static<T> int getUsedSlotsSize(T[] arr)
{
int index = 0;
while(arr[index] != null)
index++;
return index + 1;
}
int a = getUsedSlotsSize(arr);
eclipse告诉我把方法参数arr改成byte[]
我做错了什么?
【问题讨论】:
-
我想你有一个
byte[]而不是Byte[]。 -
泛型类型不能表示原始类型,所以
<T>不能表示byte,但它可以表示Byte,它是一个引用类型(这里是一个类)。 -
原始类型不能是
null。所以arr[index] != null无论如何都不适用于byte。