srcType instanceof Class 及泛型 vs 普通类

srcType instanceof Class

是什么

检查 srcType 是不是普通的类类型(不是泛型)

简单例子

java 复制代码
// 普通类
String str = "hello";
Class<?> clazz = String.class;

boolean result = clazz instanceof Class; // true
java 复制代码
// 泛型类型
List<String> list = new ArrayList<>();
Type type = list.getClass().getGenericSuperclass();

boolean result = type instanceof Class; // false(可能是ParameterizedType)

什么时候用

java 复制代码
if (srcType instanceof Class) {
    // 这是普通类,如 String、Integer
    Class<?> clazz = (Class<?>) srcType;
} else {
    // 这是泛型相关类型
}

一句话理解

判断类型是不是普通的类,不是泛型

泛型 vs 普通类

普通类

类型固定,直接使用

java 复制代码
String str = "hello";        // 只能是String
Integer num = 123;          // 只能是Integer
List list = new ArrayList(); // 可以放任何类型(不安全)

泛型类

类型可变,使用时确定

java 复制代码
List<String> list1 = new ArrayList<>();  // 只能放String
List<Integer> list2 = new ArrayList<>(); // 只能放Integer
Box<String> box = new Box<>();          // T变成String

核心区别

特点 普通类 泛型类
类型 固定 可变
定义 class Box { } class Box<T> { }
使用 new Box() new Box<String>()
安全性 需要类型转换 编译时检查

一句话理解

普通类类型固定,泛型类类型灵活

相关推荐
重生之后端学习7 小时前
239. 滑动窗口最大值[困难]✅
java·数据结构·算法·leetcode·职场和发展
脉动数据行情17 小时前
Java SpringBoot 对接知名台股 TWSE|批量采集上市股票行情实践
java·开发语言·spring boot
她的男孩7 小时前
我把管理系统接给AI,它改条数据都要先问我
java·后端·架构
toolsmith7 小时前
我用AI拆解了Charles的授权机制,发现密钥被写死在了代码里
java·人工智能
IKUN家族8 小时前
SpringBoot日志
java·开发语言
DianSan_ERP8 小时前
WMS接入电商平台自动化履约实战:一张订单从平台到出库的接口时序设计
java·前端·网络·数据库·安全·架构·自动化
liangsheng_g8 小时前
微服务本地开发零配置隔离方案
java·微服务·架构
不服老的小黑哥8 小时前
六、集合处理(collections.md)
java
lisw058 小时前
计算与科学哲学(Philosophy of Computing and Science)
java·开发语言·人工智能
凤山老林8 小时前
Spring Boot 集成 ShardingSphere-Encrypt 实现字段级实时脱敏
java·spring boot·后端·数据脱敏