java泛型问题

2024-12-31 14:44:37
推荐回答(4个)
回答1:

你写了MyButton类,是为了把按钮显示出来。而要把按钮显示在JFrame里,按钮必须要是JComponent.如果还不想自己处理按下变形之类的,你的MyButton应该继承JButton类。
public MyButton extends JButton {
}这样定义。
用的时候JButton btn = new MyButton();
不知道这和泛型有什么关系。泛型一般用于数据结构里,像:Lista=new ArrayList();

回答2:

JButton不能这样子NEW的。
不知道你这样做的意义是什么。
直接MyButton继承JButton,然后创建MyButton对象不就可以用了吗?
如果非要这样子,除非你自己建一个类来继承JButton。
public class JButton2 extends JButton{
private T button; //定义泛型成员变量
public JButton2(T button) { this.button= button; }
}
这样才能用泛型定义
JButton2 button = new JButton2();

回答3:

楼上说的没错,这时候需要使用继承。写法如下
public MyButton extends JButton {}
才创建对象时候,他会使用jbutton的属性还有具有自己的属性。

回答4:

Date 和 Timestamp 是什么关系 ??

public List insertAll(List list) {
List result = new ArrayList();3
//Date 和 Timestamp 是什么关系 ??
return result;
}

==============补充====================

百度的编辑器太烂了
==============补充==================
终于看懂你要什么了
你要吧list 的 Timestamp 转成 list 的 Date ?

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Test
{
public static void main(String[] args)
{
List list = new ArrayList();
for(int i = 0; i<5;i++)
{
list.add(new Timestamp(new Date().getTime()));
}
insertAll(list);
for(Date d : insertAll(list))
{
System.out.println(d.toString());
}
}
/**
* 建议用静态方法
*/
public final static List insertAll(List list)
{
List result = new ArrayList();
for(Timestamp tt : list)
{
result.add(timestamp2Date(tt));
}
return result;
}

/**
* 将Date转换为一个timestamp(时间戳记java.sql.Timestamp)
*/
public final static java.util.Date timestamp2Date(Timestamp timestampTime)
{
return new Date(timestampTime.getTime());
}
}