Class.isPrimitive 用法解析 及变种

概述

此方法主要是用来检测是否为Java中8种基本类型boolean、char、byte、short、int、long、float、double、void

例子
public class TestPrimitive {
    public static void main(String[] args){

        Class stringClass=String.class;
        System.out.println("String is primitive type:"+stringClass.isPrimitive());

        Class booleanClass=Boolean.class;
        System.out.println("Boolean is primitive type:"+booleanClass.isPrimitive());

        Class booleanType=boolean.class;
        System.out.println("boolean is primitive type:"+booleanType.isPrimitive());

        Class byteType=byte.class;
        System.out.println("byte is primitive type:"+byteType.isPrimitive());

        Class charType=char.class;
        System.out.println("char is primitive type:"+charType.isPrimitive());

        Class shortType=short.class;
        System.out.println("short is primitive type:"+shortType.isPrimitive());

        Class intType=int.class;
        System.out.println("int is primitive type:"+intType.isPrimitive());

        Class longType=long.class;
        System.out.println("long is primitive type:"+longType.isPrimitive());

        Class floatType=float.class;
        System.out.println("float is primitive type:"+floatType.isPrimitive());

        Class doubleType=double.class;
        System.out.println("double is primitive type:"+doubleType.isPrimitive());

        Class voidType=void.class;
        System.out.println("voidType is primitive type:"+voidType.isPrimitive());
    }
}

输出为:

String is primitive type:false
Boolean is primitive type:false
boolean is primitive type:true
byte is primitive type:true
char is primitive type:true
short is primitive type:true
int is primitive type:true
long is primitive type:true
float is primitive type:true
double is primitive type:true
voidType is primitive type:true
变种

当然,如果你想让包装类型也返回true的化,可以自己实现一个类似工具类,将其囊括即可:

    public static boolean isPrimitive(Class<?> cls) {
        return cls.isPrimitive() || cls == String.class || cls == Boolean.class || cls == Character.class
                || Number.class.isAssignableFrom(cls) || Date.class.isAssignableFrom(cls);
    }

只需要加上 条件运算符即可操作

觉得博主写的有用,不妨关注博主公众号: 六点A君。
哈哈哈,Dubbo小吃街不迷路:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Java 中,`Class` 类是用于表示一个类或接口的元数据信息。`Class` 类提供了一些常用方法来获取类的信息以及进行反射操作。下面是一些常用的 `Class` 类方法及其作用: 1. `getName()`:获取类的全限定名(包括包名)。 2. `getSimpleName()`:获取类的简单名称(不包括包名)。 3. `getPackage()`:获取类所在的包。 4. `getSuperclass()`:获取类的父类。 5. `getInterfaces()`:获取类实现的接口列表。 6. `isInterface()`:判断当前类是否是接口。 7. `isEnum()`:判断当前类是否是枚举类型。 8. `isAnnotation()`:判断当前类是否是注解类型。 9. `isArray()`:判断当前类是否是数组类型。 10. `isPrimitive()`:判断当前类是否是基本数据类型。 11. `getDeclaredFields()`:获取类的所有字段(包括私有字段)。 12. `getDeclaredMethods()`:获取类的所有方法(包括私有方法)。 13. `getDeclaredConstructors()`:获取类的所有构造方法(包括私有构造方法)。 14. `newInstance()`:创建类的实例对象(需要无参构造方法)。 15. `getDeclaredField(String name)`:获取指定名称的字段。 16. `getDeclaredMethod(String name, Class<?>... parameterTypes)`:获取指定名称和参数类型的方法。 这只是一小部分 `Class` 类的方法,还有其他一些方法可以用于获取类的注解、泛型信息等。通过 `Class` 类,我们可以在运行时获取和操作类的信息,实现动态性和灵活性。 需要注意的是,`Class` 类的方法在 Java 9 中进行了一些调整和新增,具体使用时请查阅相关文档以及适用你使用的 Java 版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值