我必须将此语句 public void removeRange (int fromIndex, int toIndex) 添加到我的 ListType 类中。
此方法应删除索引在 fromIndex(包括)和 toIndex(不包括)范围内的所有元素。列表中的所有后续元素都应移向列表的前面,以占据被删除元素留下的间隙。如果指定的索引之一无效,则此方法应引发 IndexOfBoundException。
当我尝试使用通用类型 E 解析此方法中的变量时,出现错误。 错误消息“E 无法解析为变量”
My code
public void removeRange(int fromIndex, int toIndex)
{
if (fromIndex >= elements || fromIndex < 0 || toIndex >=elements || toIndex<0 || toIndex<=fromIndex)
throw new IndexOutOfBoundsException();
for( int i = fromIndex; i <toIndex; ++i)
E temp = remove(i);
// Return the element that was removed.
return;
}
我知道我无法声明泛型类型 E 对象,但我不知道如何解决这个问题?
最佳答案
尝试
public E removeRange<E>(int fromIndex, int toIndex)
{
if (fromIndex >= elements || fromIndex < 0 || toIndex >=elements || toIndex<0 || toIndex<=fromIndex)
throw new IndexOutOfBoundsException();
for( int i = fromIndex; i <toIndex; ++i)
E temp = remove(i);
// Return the element that was removed.
return temp;
}
关于java - 我想将泛型类型 E 解析为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697127/