问题描述
不知道如果标题是有道理的,我会尽量解释。我有延长的ArrayList,一个CustomList T与假设类A1和A2级,既延长A级这是一个自定义类。
Not sure if the title makes sense, I will try to explain. I have a CustomList extending ArrayList, T being let's say Class A1 and Class A2, both extending Class A which is a custom Class.
我需要这样做:
public class CustomList<T> extends ArrayList<T>
{
public CustomList()
{
super();
}
public boolean add(T obj)
{
/*The method getCustomBoolean() is not defined for the type T*/
if(obj.getCustomBoolean())
{
super.add(obj);
}
return true;
}
}
该方法 getCustomBoolean()
是 A类
方法,以及使用这种CustomList只为 A1
和 A2
,我敢肯定, obj.getCustomBoolean()
荣获' ŧ导致异常。
The method getCustomBoolean()
is a Class A
method, and using this CustomList only for A1
and A2
, I'm sure obj.getCustomBoolean()
won't cause an exception.
我需要一种方法来指定T是一个子类A的。
I need a way to specify that T is a child class of A.
推荐答案
类的第一行改成这样。
public class CustomList<T extends A> extends ArrayList<T>
这指定 T
可以是任何类型,是 A
的子类型。它可以让你使用 A
你的 T
对象类型的方法,你的类code之内。
That specifies that T
can be any type which is a subtype of A
. It will allow you to use methods of type A
on your T
object, within your class's code.
这篇关于T&GT;延伸自ArrayList的&LT T舱的使用方法;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!