关于一个泛型的小问题。

棒棒不是糖_ 2012-04-10 09:28:03
我们知道,在定义类时可以使用泛型的上限,使其泛型类型不能高于Number类。如代码所示:

class Info<T extends Number>{ //这边有上限,规定定义泛型的类型只能为Number类或其子类。
private T var;
public void setVar(T var){
this.var=var;
}
public class P325_2{
public static void main(String args[]){
Info<String>i=new Info<String>(); //这里出错,因为定义泛型有上限。只能定义Number类及其子类类型的泛型对象。
i.setVar("123456");
}


那么问题是:
如何定义一个类,指定泛型的下限呢?也就是定义的泛型对象类型必须高于规定的类型。
...全文
130 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
棒棒不是糖_ 2012-04-11
  • 打赏
  • 举报
回复
给自己顶一下。
棒棒不是糖_ 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
Info<T super Number>
[/Quote]

class Info<T super String>{
private T var;
public void setVar(T var){
this.var=var;
}
}

public class P327_2{
public static void main(String args[]){
Info<String>i=new Info<String>(); //这边定义的泛型为 Integer
i.setVar("lin");

}
}


无法编译通过啊。。。求解。。
提示:
第一行提示 需要>

我不懂啥意思。
棒棒不是糖_ 2012-04-10
  • 打赏
  • 举报
回复

class Info<T super String>{
private T var;
public void setVar(T var){
this.var=var;
}
}

public class P327_2{
public static void main(String args[]){
Info<String>i=new Info<String>(); //这边定义的泛型为 Integer
i.setVar("lin");

}
}


无法编译通过啊。。。求解。。
提示:
第一行提示 需要>

我不懂啥意思。
结贴是美德 2012-04-10
  • 打赏
  • 举报
回复
<? super superType>
sdojqy1122 2012-04-10
  • 打赏
  • 举报
回复
Info<T super Number>
结贴是美德 2012-04-10
  • 打赏
  • 举报
回复
<T super superType>

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧