java判断数据类型
·
1、基本数据类型。如byte、short、char、int、long、float、double、boolean,这些的比较用==。
2、对象数据类型。如Integer,String,List,Collection,Map。
(1)方法一:使用对象变量.getClass().getName(),如:
String s = "jessica";
System.out.println(s.getClass().getName());
// 输出结果:java.lang.String
Integer i=1;
System.out.println(i.getClass().getName());
// 输出结果:java.lang.Integer
List l = new ArrayList();
System.out.println(l.getClass().getName());
// 输出结果:java.util.ArrayList
Map m = new HashMap();
System.out.println(m.getClass().getName());
// 输出结果:java.util.HashMap
Collection c = new ArrayList();
System.out.println(c.getClass().getName());
// 输出结果:java.util.ArrayList
// Map,List和Collection比较特殊,它们是接口,父类引用指向子类对象
// 所以List和Collection引用指向的底层实际是ArrayList对象,
// Map引用指向的底层实际是HashMap对象
(2)方法二:判断某一对象变量是不是特定的对象类型
用对象变量 instanceof 特定对象类型。
判断方法:
String s = "jessica";
System.out.println(s instanceof String);
Integer i = 1;
System.out.println(i instanceof Integer);
List l = new ArrayList();
System.out.println(l instanceof List);
System.out.println(l instanceof ArrayList);
Map m = new HashMap();
System.out.println(m instanceof Map);
Collection c = new ArrayList();
System.out.println(c instanceof Collection);
// 以上结果都是true,用这个判断变量的对象数据类型
Collection co = new Vector();
System.out.println(co instanceof ArrayList);
// 结果:false
通常用法:
// 但我们通常是这样用的,如:
List li = new Vector();
if (li instanceof ArrayList){
// 进行下一步操作
}else{
System.out.println("error");
// 接口指向的底层对象不满足要求时出错
}
更多推荐
已为社区贡献6条内容
所有评论(0)