java类字面常量

 下面哪些代码能正常编译?

A、Class c = int.class;
B、Class c = "hello".getClass();
C、Class c = String[].class;
D、Class c = Integer.getClass();
E、Class c = Enum.class;
F、Class c = Void.TYPE;

答案:ABCEF

关于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语法)
 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();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值