Java - 有没有办法从引用类型推断出对象类型

时间:2014-09-23 12:48:45

标签: java reflection

public static void printType(Object o){
  type = **someWayToDeduceTheObjectType()**
  fields = type.getDeclaredFields()
  System.out.println("The type of the object is : " + type);
  System.out.println("The fields of this type of class is : " + fields);
}

是否可以从通用引用类型推断传递对象的对象类型?

如果没有,原因是什么?

我认为这是不可能的,因为存在铸造,但我无法确定确切的原因。

编辑:我这里没有提到instanceof运算符。假设我没有要比较的类型列表。

1 个答案:

答案 0 :(得分:2)

很有可能 - 你只需拨打getClass()

public static void printType(Object o){
  type = o.getClass();
  fields = type.getDeclaredFields()
  System.out.println("The type of the object is : " + type);
  System.out.println("The fields of this type of class is : " + fields);
}