java泛型3

本文探讨了Java中泛型的安全性和数组类型转换的问题,包括List与其他泛型之间的关系及数组类型转换可能导致的ArrayStoreException异常。

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

注意List<String>对象 不能当成List<Object>对象使用   前者不是后者的子类

这点很重要  数组有时也是如此

 

public class ArrayErr
{
 public static void main(String[] args)
 {
  // 定义一个Integer数组
  Integer[] ia = new Integer[5];
  // 可以把一个Integer[]数组赋给Number[]变量
  Number[] na = ia;
  // 下面代码编译正常,但运行时会引发ArrayStoreException异常
  // 因为0.5并不是Integer
  na[0] = 0.5;   //①

  List<Integer> iList = new ArrayList<>();
  // 下面代码导致编译错误
  List<Number> nList = iList;

 }
}

 

List<?>  ?类型通配符  可以匹配任何类型  代表是各种泛型的父类

List<String>并不是List<Object>的子类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值