java中的list_java List<T>和List<?>有什么用

本文详细介绍了Java中的泛型和通配符泛型的区别。泛型允许在编译时检查类型安全,而通配符泛型如? super T和? extends T用于增强代码的灵活性。当只读操作集合时,使用通配符泛型更合适,如`printCollection`方法。而在需要操作类型或方法签名中统一类型时,应使用自定义泛型,如`autoConvertType`方法。理解并恰当使用这两种泛型可以提高代码质量和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

15c00c52040ada434708127e6985012c.png

大咪

?和T都表示不确定的类型 但如果是T的话 函数里面可以对T进行操作 比如while里面可以这样写

T t = it.next();

System.out.println(t);

T自定义泛型和?通配符泛型

1.在整个类中只有一处使用了泛型,使用时注意加了泛型了参数不能调用与参数类型有关的方法比如“+”,比如打印出任意参数化类型集合中的所有内容,就适合用通配符泛型>

public static void printCollecton(Collection > collection)

{

for(Object obj: collection)

{

System.out.println(obj);

}

}

2. 当一个类型变脸用来表达两个参数之间或者参数与返回值之间的关系时,即统一各类型变量在方法签名的两处被使用,或者类型变量在方法体代码中也被使用而不仅 仅在签名的时候使用,这是应该用自定义泛型。泛型方可以调用一些时间类型的方法。比如集合的add方法。

public static T autoConvertType(T obj)

{

return(T)obj;

}

[1]ArrayList al=new ArrayList();指定集合元素只能是T类型

[2]ArrayList> al=new ArrayList>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法

http://www.cnblogs.com/fengli9998/p/6088528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值