黑马程序员技术交流社区

标题: <版主!问题我自己找见答案了!>关于20分的题目.... [打印本页]

作者: 樊占江    时间: 2012-8-7 22:07
标题: <版主!问题我自己找见答案了!>关于20分的题目....
本帖最后由 樊占江 于 2012-8-7 22:31 编辑

import java.util.ArrayList;
@SuppressWarnings("rawtypes")
public class LoopListTest extends ArrayList{
private static final long serialVersionUID = 1L;
static int size = 0;
public static void main(String[] args) {
LoopListTest lp = new LoopListTest(3);
lp.addOB("one");
lp.addOB("two");
lp.addOB("three");
lp.pri(lp);
System.out.println("之后-------------");
lp.addOB("four");
lp.addOB("five");
lp.pri(lp);

}
@SuppressWarnings("static-access")
LoopListTest (int size) {
this.size = size;
}
public void pri (LoopListTest lp) {
for (int i = 0; i < lp.size(); i++) {
System.out.println(lp.get(i));
}
}
@SuppressWarnings("unchecked")
public boolean addOB (Object ob) {
if (this.getMSize() >= size) {
this.remove(0);
}
return this.add(ob);
}
public Object getFirst () {
if ((size > 0) && (this.getMSize() > 0)) {
return this.get(0);
}  else
return null;
}
public Object getChildAt (int item) {
if ((size > item) && (this.getMSize() > item)) {
return this.get(item);
} else
return null;
}
public int getMSize () {
return this.size();
}
}

这是全部代码    这是运行结果:
one
two
three
之后-------------
three
four
five

唯一的疑惑就是不能泛型   也不知道为什么继承于list之后不能泛型了。谁会帮忙看看吧


作者: 樊占江    时间: 2012-8-7 22:30
问题我找出来了
在文件的开头添加一个泛型的支持  就是这样  在类名后面加一个“<T>”  就行了
public class LoopListTest<T> extends ArrayList<Object>


作者: hello world    时间: 2012-8-7 23:34
樊占江 发表于 2012-8-7 22:30
问题我找出来了
在文件的开头添加一个泛型的支持  就是这样  在类名后面加一个“”  就行了
public class  ...

恩 对啊,你定义一个泛型类  就在类上声明就可以了   其实这道题没必要继承List    在类的内部定义一个list 会好些。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2