java中如何定义一个泛型函数?

我想定义一个函数,其中一个参数是T类型(未定),另一个参数是继承于T的类型,可是这么写编译器会报错\那该怎么办呢?还有就是我想问一句,是不是类型通配符不能脱离泛型使用,如... 我想定义一个函数,其中一个参数是T类型(未定), 另一个参数是继承于T的类型,可是这么写编译器会报错

\那该怎么办呢?还有就是我想问一句,是不是类型通配符不能脱离泛型使用,如果使用就会像我写的这样报错?
展开
 我来答
何度千寻
推荐于2017-09-09 · TA获得超过5898个赞
知道大有可为答主
回答量:1381
采纳率:91%
帮助的人:547万
展开全部

  泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。

  定义泛型方法语法格式如下:


  定义泛型方法时,必须在返回值前边加一个<T>,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。

  Class<T>的作用就是指明泛型的具体类型,而Class<T>类型的变量c,可以用来创建泛型类的对象。

jamxval
2014-05-09 · TA获得超过6821个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1400万
展开全部

我们只要在定义 class 时用上了 <T> 来说明 T 是一个尚未确定的类型。

看看 JDK 源码中的 ArrayList 是怎么定义的,它的类名后面跟着一个 <E>。

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
    ...
}
追问

可是,类名加上加上也错了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rmiswt
2014-05-09 · 超过17用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:22.4万
展开全部
你不能将一个对象推送到未知类型的集合中,之前的T定义了所以不会有错,再加上?就变成未知的了
追问
那该怎么办呢?我想让参数一个是T类型,另一个是继承与T类型的,怎么做呢?
追答
public class Test{

public void test(T a,C b){

}
你可以试试这种
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式