Java基础类型的判断

java中没有sizeof()运算符来大概判断数据的类型,但可以通过instanceof运算符判断是否是基本类型对应的包装类的实例来判断基础类型,话不多说上代码

下面是一个判断基础类型的类。

 1 public class BaseTypeDistinguish {
 2     public static String baseTypeDistinguish(Object o) {
 3         if (o instanceof Boolean) {
 4             return "boolean";
 5         } else if (o instanceof Character) {
 6             return "character";
 7         } else if (o instanceof Byte) {
 8             return "byte";
 9         } else if (o instanceof Short) {
10             return "short";
11         } else if (o instanceof Integer) {
12             return "integer";
13         } else if (o instanceof Long) {
14             return "long";
15         } else if (o instanceof Float) {
16             return "float";
17         } else if (o instanceof Double) {
18             return "double";
19         }
20         return "not base type";
21     }
22     public static void baseTypeDistinguishPrint(Object o) {
23         System.out.print(o+" ");
24         System.out.println("This type is "+BaseTypeDistinguish.baseTypeDistinguish(o));
25     }
26 }

System.out.println('你'+'好');
System.out.println("你"+"好");

你觉得这两句的输出结果会是什么呢 ~笑

附上两个参考文档

  JAVA基本数据类型及其对应的包装类 这篇文章有关基础类型写的很详细

  java判断基本数据类型的方法 这里的代码有点乱

另外,可以实例还可以通过getClass()方法获取类名

    public static String baseTypeDistinguishByGetClass(Object o) {
        return o.getClass().getTypeName();
    }
    public static void baseTypeDistinguishByGetClassPrint(Object o) {
        System.out.print(o+" ");
        System.out.println("This type is "+BaseTypeDistinguish.baseTypeDistinguishByGetClass(o));
    }

参考 java获取变量的类型

char类型的变量做加减运算会自动转成int型,而字符串的+运算则是拼接了。所以用' '与" "的两个输出是一个是int型一个是String类型的了。

未经授权商用禁止,转载请标明出处,附上原文链接 个人能力有限,若有不足之处欢迎各位大佬指出
原文地址:https://www.cnblogs.com/pong137/p/13631636.html