任意给一个变量,有没有办法判断它是数据类型还是对象类型?具体是什么类型?
java里对基本数据类型应该是没有直接判断方法的,但是可以自己利用函数重载实现:
public static String typeOf(boolean var){
return "boolean ";
}
public static String typeOf(char var){
return "char ";
}
public static String typeOf(int var){
return "int";
}
反正一共也只有几种类型,全部写完好了。
对于对象类型:
public static String typeOf(Object var){
return var.getClass().toString();
}
具体好像得好像不行吧!
但你可以用instanceOf来判断它是不是其他类型,例如String类型。
obj instanceOf String;
obj.getClass().getName();
如果obj是String对象就会返回java.lang.String!