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>()
安全性 需要类型转换 编译时检查

一句话理解

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

相关推荐
青衫码上行1 分钟前
【JavaWeb学习 | 第17篇】JSP内置对象
java·开发语言·前端·学习·jsp
core5122 分钟前
实战:用 Spring Boot 搭建 Model Context Protocol (MCP) 服务
java·spring boot·后端·model·模型·mcp
2201_757830874 分钟前
线程池超详细解释
java
编程修仙6 分钟前
第二篇 搭建第一个spring程序
java·数据库·spring
麦麦鸡腿堡7 分钟前
Java_网络上传文件与netstat指令
java·服务器·网络
爱吃烤鸡翅的酸菜鱼9 分钟前
【RabbitMQ】发布订阅架构深度实践:构建高可用异步消息处理系统
java·spring boot·分布式·后端·websocket·架构·rabbitmq
组合缺一11 分钟前
Solon AI 开发学习10 - chat - 工具调用概念介绍
java·人工智能·学习·ai·llm·solon
曼巴UE514 分钟前
UE5 C++ TSet 创建初始和迭代
java·c++·ue5
TangGeeA15 分钟前
Linux CFS(完全公平调度器)全面总结
java·linux·服务器
帧栈17 分钟前
并发编程原理与实战(三十九)并发基石ArrayBlockingQueue与LinkedBlockingQueue的底层实现与API设计解析
java