温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Class类怎么获取

发布时间:2026-10-24 03:02:02 来源:亿速云 阅读:90 作者:小樊 栏目:编程语言

在 Java 中,获取 Class 对象(类对象)常见有 5 种方式,不同场景用不同的方法。下面按最常用 → 不常用给你总结。


一、通过类名获取(最常用 ✅)

1️⃣ 使用 .class(编译期已知类)

Class<?> clazz = String.class;

✅ 优点:

  • 最简单
  • 编译期安全
  • 不会抛异常

✅ 适合:

  • 已知具体类

二、通过对象获取

2️⃣ 使用 getClass()(已有对象)

String s = "hello";
Class<?> clazz = s.getClass();

✅ 适合:

  • 已有实例对象

⚠️ 注意:

  • 不能用于基本类型(int 不行)

三、通过全类名字符串获取(反射常用 ✅)

3️⃣ 使用 Class.forName()

Class<?> clazz = Class.forName("java.lang.String");

✅ 优点:

  • 运行时动态加载类
  • 常用于框架、配置文件

⚠️ 会抛异常:

  • ClassNotFoundException

✅ 适合:

  • JDBC
  • Spring
  • 反射框架

四、基本类型的 Class(特殊)

4️⃣ 基本类型

Class<?> intClass = int.class;
Class<?> voidClass = void.class;

❗ 不能用 Class.forName("int")


五、数组的 Class

5️⃣ 数组类型

Class<?> arrClass = int[].class;
Class<?> strArrClass = String[].class;

六、对比总结表

方式 示例 是否常用 是否抛异常
.class String.class ✅✅✅ ❌
getClass() obj.getClass() ✅✅ ❌
forName() Class.forName(...) ✅✅✅ ✅
基本类型 int.class ✅ ❌
数组 int[].class ✅ ❌

七、常见错误 ❌

Class.forName("String"); // 错,必须是全类名
Class.forName("java.lang.string"); // 大小写敏感

如果你是想 用 Class 做什么(反射、 newInstance、注解、泛型),可以告诉我,我可以给你更针对性的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手