美文网首页
java 泛型类型判断

java 泛型类型判断

作者: 778bc750a218 | 来源:发表于2020-11-26 10:00 被阅读0次

场景:在工厂中获取不同类型的对象,工厂输出对象具有相同的业务场景(例:输出环境== 工厂输出 -> 输入设备(泛型);使用环境== 轮训输入设备,找到 键盘这个类型的输入设备 (多个))

public static <T extends DeviceSdk> T getSdk(Factory factory, DeviceSdkDto sdkDto,Class<T> requireType) throws TypeMismatchException {
        DeviceSdk deviceSdk = factory.getSdk(sdkDto);
        if(instanceofFunc(deviceSdk,requireType)){
//        if(deviceSdk.getClass().equals(requireType)){
            return (T) deviceSdk;
        }else {
            throw new TypeMismatchException();
        }
    }

   private static <T> boolean instanceofFunc(Object obj,Class<T> b){
        boolean result;
        if (obj == null) {
            result = false;
        } else {
            try {
                T temp=b.cast(obj);
//                T temp= (T) obj; // checkcast
                result = true;
            } catch (ClassCastException e) {
                result = false;
            }
        }
        return result;

    }

相关文章

  • Java泛型教程

    Java泛型教程导航 Java 泛型概述 Java泛型环境设置 Java泛型通用类 Java泛型类型参数命名约定 ...

  • 【进阶之路】Java的类型擦除式泛型

    【进阶之路】Java的类型擦除式泛型 Java选择的泛型类型叫做类型擦除式泛型。什么是类型擦除式泛型呢?就是Jav...

  • java 泛型类型判断

    场景:在工厂中获取不同类型的对象,工厂输出对象具有相同的业务场景(例:输出环境== 工厂输出 -> 输入设备(泛型...

  • java泛型

    java泛型 Java 泛型的参数只可以代表类,不能代表个别对象。 由于 Java 泛型的类型参数之实际类型在编译...

  • Kotlin学习笔记-其他

    一.泛型 在使用java的泛型时候,下面的代码无法通过编译的。因为为了泛型的类型安全,Java 中的泛型类型是 不...

  • JAVA 核心笔记 || [xxx] 泛型

    泛型 JAVA 的参数化类型 称为 泛型 泛型类的设计 Learn12.java 运行

  • java泛型中类型擦除的一些思考

    java泛型 java泛型介绍 java泛型的参数只可以代表类,不能代表个别对象。由于java泛型的类型参数之实际...

  • spring 泛型处理

    java 泛型基础 泛型类型:泛型类型是在类型上参数化的泛型类或接口 泛型使用场景编译时前类型检查。定义为 Col...

  • Java基础之泛型

    Java基础之泛型 泛型基本介绍 简单介绍在jdk1.6之前,还没有使用到泛型,Java类型分为原始类型、复杂类型...

  • Kotlin 泛型

    Kotlin 支持泛型, 语法和 Java 类似。例如,泛型类: 泛型函数: 类型变异 Java 的泛型中,最难理...

网友评论

      本文标题:java 泛型类型判断

      本文链接:https://www.haomeiwen.com/subject/vngvbktx.html