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

解决方案 »

  1.   

    对于java里面的基本类型,有方法可以得到么?他们毕竟都不是object。
      

  2.   

    哦,这样啊,那怎么检查数据是byte类型的呢。
      

  3.   

    如果是同一个方法中,不需要变量的类型.因为你知道.如果基本类型作为参数传递给其他方法,如:
    以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");
      

  4.   

    对不起,错别字.
    "对于非基本类型的判断,你可以用instanceof运算法."
    应为:
    "对于非基本类型的判断,你可以用instanceof运算符."
      

  5.   

    太棒啦。非常感谢。讲得真细。
    如果你是MM我真想亲你两口。
    是GG,再加一口。哈哈。