java - 如何在方法中使用泛型参数来将参数类型限制为某些特定的类类型?

标签 java generics

我有一个名为 getInfo() 的方法。它只有一个参数,但参数只能有两种可能的类型,Exception 或自定义类CLAZZ_A。因此,当我定义此方法 getInfo() 时,我想将其参数类型限制为这两种类型。我能做些什么?我相信 Java 泛型类型可能有用,但我不知道该怎么做。

最佳答案

也许只是重载:

getInfo(Exception e){}
getInfo(MyClass mc){}

这样,您将在编译时知道您的参数是什么,并保证它是两个可接受的参数之一。如果行为足够相似,您可以通过强制转换来调用另一个。

如果这没有吸引力,请考虑让您的对象扩展 Exception(如果相关),这样 getInfo(Exception e){} 就足够了。

关于java - 如何在方法中使用泛型参数来将参数类型限制为某些特定的类类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774090/

相关文章:

Java 将子类型实例添加到父类(super class)型的集合中?

Java确保相同的通配符捕获类型

c# - ILookup<TKey, TElement> 不应该在 TElement 中(声明)协变吗?

c# - 有什么方法可以返回一个尚不存在但稍后会从 C# 方法返回的对象?

java - Hibernate:使用在另一个实体中引用的复合键面对 "broken column mapping for id"

Java HTTP 请求卡住

java - 在枚举中调用父类(super class)型构造函数之前无法引用 Const.getText

java - Mockito 接口(interface)方法冲突

java - Maven Ant 任务。传递 (pom) 依赖项和 https 问题

java - 使用 Apache Commons Vfs2 进行 SFTP 文件传输