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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制使用泛型接受某些用户定义的类对象的方法?相关的知识,希望对你有一定的参考价值。

我有2个空类emp和重置。我在另一个类中有方法,它只接受这两个类,我需要使用泛型来实现这些类。这两个类都不以任何方式相互关联。

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不接受非英语课

答案

您还没有向我们展示您的代码,但通常的解决方案是创建一个通用接口。

然后这两个类都实现了这个接口,Generic只是作为其输入参数的类型应用于接口。

以上是关于如何限制使用泛型接受某些用户定义的类对象的方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过某些依赖注入来限制对象创建?

仅接受某些类型的 C++ 模板

如何将方法的泛型类型限制为打字稿中的对象?

打字稿可变泛型类,接受扩展公共基础的可变数量的类对象?

Java:泛型基础

Java:泛型基础