首页 > 编程语言 >无涯教程-Java泛型 - 不允许 异常

无涯教程-Java泛型 - 不允许 异常

时间:2023-12-28 20:31:52浏览次数:30  
标签:Box java int 无涯 Throwable 泛型 Java public

泛型类不允许直接或间接扩展Throwable类。

//泛型类 Box<T> 可能不是 java.lang.Throwable 的子类
class Box<T> extends Exception {}

//泛型类 Box<T> 可能不是 java.lang.Throwable 的子类
class Box1<T> extends Throwable {}

不允许方法捕获类型参数的。

public static <T extends Exception, J> 
   void execute(List<J> jobs) {
      try {
         for (J job : jobs) {}
  
         //compile-time error
         //Cannot use the type parameter T in a catch block
      } catch (T e) { 
         //...
   }
} 

在throws子句中允许使用类型参数。

class Box<T extends Exception>  {
   private int t;

   public void add(int t) throws T {
      this.t=t;
   }

   public int get() {
      return t;
   }   
}

参考链接

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

标签:Box,java,int,无涯,Throwable,泛型,Java,public
From: https://blog.51cto.com/u_14033984/9018355

相关文章

  • JAVA基础+安装
    Java特性高效可跨平台不占内存不需要指针Java三大版本Writeonce,runanywhere.JavaSE:标准版(桌面程序,控制台开发……)JavaME:嵌入式开发(手机,小家电……)JavaEE:E企业级开发(web端,服务器开发)JDK、JRE、JVMJDK:JavaDevelopmentKitJava开发者工具JRE:JavaRuntimeEnvi......
  • javaCC链2
    cc2链pom.xml配置<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.0</version></dependency>......
  • 无涯教程-Java泛型 - 不允许 强制转换
    除非强制使用无界通配符对其进行参数化,否则不允许强制转换为参数化类型。Box<Integer>integerBox=newBox<Integer>();Box<Number>numberBox=newBox<Number>();//编译器错误:无法从Box<Number>转换为Box<Integer>integerBox=(Box<Integer>)numberBox;要实现相同的目的,......
  • 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......