首页 > 编程语言 >无涯教程-Java泛型 - 不允许 强制转换

无涯教程-Java泛型 - 不允许 强制转换

时间:2023-12-28 18:31:45浏览次数:41  
标签:Box java numberBox Java integerBox 无涯 generics 泛型 new

除非强制使用无界通配符对其进行参数化,否则不允许强制转换为参数化类型。

Box<Integer> integerBox=new Box<Integer>();
Box<Number> numberBox=new Box<Number>();
//编译器错误:无法从 Box<Number> 转换为 Box<Integer>
integerBox=(Box<Integer>)numberBox;

要实现相同的目的,可以使用无界通配符。

private static void add(Box<?> box) {
   Box<Integer> integerBox=(Box<Integer>)box;
}

参考链接

https://www.learnfk.com/java-generics/java-generics-no-cast.html

标签:Box,java,numberBox,Java,integerBox,无涯,generics,泛型,new
From: https://blog.51cto.com/u_14033984/9017648

相关文章

  • Google Java 编程风格指南
    目录前言术语说明指南说明源文件基础文件名文件编码:UTF-8特殊字符空白字符特殊转义序列非ASCII字符源文件结构许可证或版权信息package语句import语句import不要使用通配符不要换行顺序和间距类声明只有一个顶级类声明类成员顺序重载:永不分离格式大括号使用大括号(即使大括号仅是......
  • Java的集合
    一.Java集合框架概述    一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java集合就像一种容器,可以动态的把多个对象的引用放入容器中。1.数组Array存储(1)数组在内存存储方面的特......
  • Java多线程:数据一致性问题及解决方案
    引言在面向对象的编程语言Java中,多线程编程是一个强大的工具,可以使我们能够构建高效率和高并发的应用程序。然而,多线程环境下的数据共享也带来了数据一致性的挑战。在本文中,我们将探讨Java多线程中的数据一致性问题,并提出几种解决方案。数据一致性问题当多个线程同时对共享资源进行......
  • JavaWeb - Day13 - 事务管理、AOP(基础、进阶、案例)
    01.事务管理-事务回顾-spring事务管理1.1事务回顾在数据库阶段我们已学习过事务了,我们讲到:事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功,要么同时失败。怎么样来控制这组......
  • Java-继承:重载与重写的区别
    一、重写(Override)子类继承父类,子类重写父类中的所有公共方法,覆盖父类的方法并对其重写。注意事项:重写前后方法名相同;参数列表相同;返回值相同子类重写的方法所抛出的异常必须与父类中的被重写方法的异常一致,或者不能比父类的异常范围更大。父类的私有方法不能被重写,如果子类非要......
  • Java服务jar包在Windows系统调用bat脚本启动,停止,重启jar包
    创建一个以bat后缀结束的文件,写入一下代码:1.启动jar包脚本:在Windows系统上面创建start.bat启动jar包脚本编辑以下内容:@echooff%1mshtavbscript:CreateObject("WScript.Shell").Run("%~s0::",0,FALSE)(window.close)&&exitjava-Xms256m-Xmx512m -Dfile.encoding=utf-......
  • java客户端访问nacos配置使用总结
    客户端访问nacos配置:父工程:com.alibaba.cloudspring-cloud-alibaba-dependencies2021.0.5.0pomimport子工程:<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</art......
  • java单元测试
    一、单元测试1、概述 2、优缺点 二、快速入门   三、JUNIT的常用注解 ......
  • python中的泛型使用TypeVar
    1.引入为什么需要TypeVarPEP484的作者希望借助typing模块引入类型提示,不改动语言的其它部分。通过精巧的元编程技术,让类支持[]运算不成问题。但是方括号内的T变量必须在某处定义,否则要大范围改动python解释器才能让泛型支持特殊的[]表示法。鉴于此,我们增加了typing.TypeVar构造......
  • 无涯教程-Java泛型 - 无限类型擦除
    如果使用无限制的类型参数,则JavaCompiler会将通用类型的类型参数替换为对象。packagecom.learnfk;publicclassGenericsTester{publicstaticvoidmain(String[]args){Box<Integer>integerBox=newBox<Integer>();Box<String>stringBox=newBo......