今天在玩的时候突然想到去判断一个基本数据类型,因为不是引用类型,所以不能直接利用方法去判断,然后就想到了利用对应的包装类去判断。就当写个小工具玩玩咯。
public class MyUtil {
public static String getBaseType(Object o) {
String s = o.getClass().getSimpleName().toLowerCase();
switch (s) {
case "boolean":
return s;
case "character":
return "char";
case "byte":
return s;
case "short":
return s;
case "integer":
return "int";
case "long":
return s;
case "float":
return s;
case "double":
return s;
}
return "不是基本数据类型!";
}
public static void main(String[] args) {
System.out.println(MyUtil.getBaseType((byte) 12));
System.out.println(MyUtil.getBaseType((short) 12));
System.out.println(MyUtil.getBaseType(12)); //默认int类型
System.out.println(MyUtil.getBaseType(12l)); //long类型
System.out.println(MyUtil.getBaseType(12.0f)); //float类型
System.out.println(MyUtil.getBaseType(12.0)); //默认double类型
System.out.println(MyUtil.getBaseType(true));
System.out.println(MyUtil.getBaseType('a')); //char类型
System.out.println(MyUtil.getBaseType("a")); //Sring类型
}
}
输出结果如下:
byte
short
int
long
float
double
boolean
char
不是基本数据类型!
Process finished with exit code 0