java - 如何使用泛型限制接受某些用户定义的类对象的方法?

标签 java generics

我有 2 个空类 emp 和 reset 。我在另一个类中有方法,它只接受我需要使用泛型实现的这两个类。这两个类彼此没有任何关系。

package abstracta;

import generics.emp;
import generics.nonemp;
import generics.reset;

// A Simple Java program to show working of user defined
// Generic functions

class Test
{
    // A Generic method example
    static <T> void genericDisplay ( T element)
    {
        System.out.println(element.getClass().getName() +
                           " = " + element);
    }

    // Driver method
    public static void main(String[] args)
    {
         // Calling generic method with Integer argument
        genericDisplay(new emp());

        // Calling generic method with String argument
        genericDisplay(new reset());

        genericDisplay(new nonemp());// should not accept  . restrict this class
    }
}

我希望 genericDisplay 不接受 nonemp 类

最佳答案

您尚未向我们展示您的代码,但常见的解决方案是创建一个通用接口(interface)。

然后两个类都实现该接口(interface),并且 Generic 只是将其应用到该接口(interface)作为其输入参数的类型。

关于java - 如何使用泛型限制接受某些用户定义的类对象的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50467294/

相关文章:

Java MySQL 连接

java - 除非需要,如何使用 DecimalFormat 不显示小数位

delphi - 为shortstring声明泛型内联函数const是用户错误,还是编译器错误?

java - 通过数据结构(队列、堆栈、包)进行迭代

c# - 是否可以去掉 Service 类中的 TClient 泛型类型

java - 如何在基于 Java/JVM 的应用程序中拟合和评分机器学习模型

java - Apache 詹姆斯,jsp servlet

java - 在java中引用方法中的方法?

c# - 将通用 IDictionary 转换为 ASP.NET MVC IEnumerable<SelectListItem> : choosing the Selected item

java - 如何访问传递的通用数组列表中的元素