参数的java通用类型与抽象类

标签 java generics parameters abstract generic-type-argument

我正在学习 Java 泛型类型。

我有抽象类 AbstractInputdata。

public abstract class AbstractInputData {
....
}

一些扩展 AbstractInputData 的类

public class Email extends AbstractInputData{
...
}
public class Mobile extends AbstractInputData{
...
}
......

A.

public class ProcessorA {
public static boolean isCustomData(AbstractInputData abstractInputData) {
....
}
}

B.

public class ProcessorB {
public static <T extends AbstractInputData> boolean isCustomData(T t) {
...
}
}

A和B有区别吗?

最佳答案

唯一的区别是第二种方法通过反射显示为通用类型方法。它的行为将是相同的,除了像这样的奇怪情况

processorB.<MyType>isCustomData(t); // won't compile unless t is a MyType

您必须告诉它您希望它匹配什么类型,恕我直言,这不是很有用。

关于参数的java通用类型与抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632197/

相关文章:

delphi - 从 Delphi 中的其他单元定义类型

django - 在 Django REST Framework 中使用 url 传递查询

parameters - 将十六进制值传递到 Verilog 中的模块

java 替换字符串的数组列表

java - 如何生成4个不重复数字的随机数

java - 如何在 Java GC 中使旧区域自适应调整大小?

c# - 使包装类的扩展方法/构造函数通用

java - 使用 HttpClient 在不同线程中连接到同一 URL

java - 有没有办法让泛型持续存在? [Java控制台]

C# 转换和泛型