java中getType()和getClass()之间的区别是什么?
我曾经在c#中使用过java中getType()和getClass()之间的区别是什么?,java,class,types,Java,Class,Types,我曾经在c#中使用过getType(),我看到Java中也存在这种情况 我应该在什么时候使用getType()以及什么时候使用getClass() 根据和的文档: getClass返回“表示此对象的运行时类的类对象。” getType返回“一个类对象,该类对象标识此对象表示的字段的声明类型” 主要区别在于someObject.getClass()将为您提供someObject的运行时类型的class对象,而someField.getType()将为您提供someField引用的声明类型的clas
getType()
,我看到Java中也存在这种情况
我应该在什么时候使用
getType()
以及什么时候使用getClass()
根据和的文档:
getClass
返回“表示此对象的运行时类的类对象。”
getType
返回“一个类对象,该类对象标识此对象表示的字段的声明类型”
主要区别在于someObject.getClass()
将为您提供someObject
的运行时类型的class对象,而someField.getType()
将为您提供someField
引用的声明类型的class对象
(调用someField.getClass()
将返回Field.class
,因为它引用的是字段
对象本身,而不是它所引用的字段)
此外,虽然
getClass
可用于每个对象,但getType
仅可用于反射API中的字段
对象。getClass
是一种方法,它将被继承到所有类中,并且在任何情况下都可以使用。getType
就像为不同目的在不同类上编写的其他方法一样
getClass()
Returns the runtime class of this Object. The returned Class object is the object that is locked by
static synchronized methods of the represented class.
正如上面所说的它对所有将在Java上编写的类都是通用的 getType()在不同的情况下返回不同的内容 例如 在方法
中,返回一个值,该值指示字符的常规类别。
在方法return中,向我们展示java的
getType()方法的javadocs。哪个getType()方法?您在文档中看到这样一种方法的地方是什么:Field.class
和Field之间的区别是什么。getClass()
?字段。class
是字段
类Field.getClass()
不可能,因为您只能在实例上调用getClass
。someField.class
和someField.getClass()
之间有什么区别?