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

一句话理解

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

相关推荐
蓁蓁啊4 分钟前
GCC 头文件搜索路径:-I vs -idirafter 深度解析
java·前端·javascript·嵌入式硬件·物联网
Coder_Boy_8 分钟前
基于SpringAI的在线考试系统-核心业务流程图(续)
java·大数据·人工智能·spring boot·流程图
毕设源码-钟学长8 分钟前
【开题答辩全过程】以 基于Springboot vue肢体残疾人就业服务网站的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
ss27312 分钟前
idea中git更新项目:将传入更改合并到当前分支,在传入更改上变基当前分支
java·git·intellij-idea
不穿格子的程序员16 分钟前
从零开始写算法——二叉树篇6:二叉树的右视图 + 二叉树展开为链表
java·算法·链表
Coder_Boy_17 分钟前
基于SpringAI的在线考试系统-核心业务流程图
java·数据库·spring boot·软件工程
Kingairy29 分钟前
Python面试高频题
java·python·面试
黎雁·泠崖29 分钟前
Java数组入门:定义+静态/动态初始化全解析(隐式转换+案例+避坑指南)
java·开发语言·python
Knight_AL1 小时前
设计模式之责任链模式:原理解析 + Java 示例
java·设计模式·责任链模式
1candobetter1 小时前
JAVA后端开发——深入理解 Java Static
java·开发语言