关于java.lang.Class对象的取得,总结如下
取得方法 | 释义 |
使用getClass()方法 | 常量:Class c = "foo".getClass(); 枚举:enum E { A, B } Class c = A.getClass(); 接口:Set<String> s = new HashSet<String>(); Class c = s.getClass(); 数组:byte[] bytes = new byte[1024]; Class c = bytes.getClass(); 一般引用:String str = "foo"; Class c = str.getClass(); |
运用.class语法 | 基本类型:Class c1 = boolean.class; Class c2 = int.class; 数组:Class c = int[][][].class; 类接口:Class c = java.io.File.class; |
运用静态方法Class.forName() | 基本类:Class c = Class.forName ("java.lang.String"); 内部类:Class c = Class.forName ("java.lang.HashMap$Entry"); 数组:Class c = Class.forName ("[I"); |
运用基本类型包装类的.TYPE语法 | Class c1 = Boolean.TYPE; Class c1 = Byte.TYPE; Class c1 = Character.TYPE; Class c1 = Short.TYPE; Class c1 = Integer.TYPE; Class c1 = Long.TYPE; Class c1 = Float.TYPE; Class c1 = Double.TYPE; Class c1 = Void.TYPE; |
使用特殊方法 | Class c = java.lang.String.class.getSuperclass(); Class<?>[] c = Character.class.getClasses(); Class<?>[] c = Character.class.getDeclaredClasses(); Class c = f.getDeclaringClass();Class<c> = o.getClass().getEnclosingClass(); |
本文介绍了多种获取Java中Class对象的方法,包括使用getClass()方法、.class语法、Class.forName()静态方法及基本类型包装类的.TYPE语法等。适用于不同场景的需求。

3116

被折叠的 条评论
为什么被折叠?



