日期:2014-05-20  浏览次数:20665 次

~~~~~~~~~~~~怎么得到一个变量的数据类型
一个菜场问题,如题
如果我定义byte   b;int   i;char   c......
请问有什么方法返回变量b,i,c的数据类型   为别为byte,int,char
谢谢

------解决方案--------------------
如果是同一个方法中,不需要变量的类型.因为你知道.如果基本类型作为参数传递给其他方法,如:
以byte b = 0;a(b);的形式调用a(Object o)方法,基本类型会被包装.byte会变成Byte.
这样就不存在基本类型的判断问题.
对于非基本类型的判断,你可以用instanceof运算法.
如果不知道范围,你可以用Class类的getSimpleName()方法.
如:
o.getClass().getSimpleName().equals( "Byte ");
当然.如果有人自己定义了一个包,如a.a并在包中实现了一个全名为a.a.Byte的类.这样会失效.
你可以这样.
o.getClass().getName().equals( "java.lang.Byte ");