c#typeof()的java等价物
我对java非常陌生。假设我有一个xml解析器,并从中创建对象。在c#中,我希望:c#typeof()的java等价物,java,reflection,Java,Reflection,我对java非常陌生。假设我有一个xml解析器,并从中创建对象。在c#中,我希望: parser p = new parser(typeof(myTargetObjectType)); 在我的解析器类中,我需要知道我正在生成哪个对象,以便在无法进行解析时抛出异常。 如何在jave做同样的事情?我的意思是如何接受像typeof(myObject) 我知道每种语言都有自己的做事方式。我在问java中的方法是什么,java将类作为java类型上任何反射操作的入口点 类的实例表示类中的类和接口 运行
parser p = new parser(typeof(myTargetObjectType));
在我的解析器类中,我需要知道我正在生成哪个对象,以便在无法进行解析时抛出异常。
如何在jave做同样的事情?我的意思是如何接受像typeof(myObject)
我知道每种语言都有自己的做事方式。我在问java中的方法是什么,java将类作为java类型上任何反射操作的入口点 类的实例表示类中的类和接口 运行Java应用程序 要获取对象的类型(表示为
类
对象),可以调用所有引用类型继承的方法
返回此对象的运行时类
不能使用基元类型执行此操作(调用getClass()
)。但是,基元类型也有一个关联的类
对象。你能行
int.class
比如说
public class Main {
public static void main(String[] args) {
UnsupportedClass myObject = new UnsupportedClass();
Parser parser = new Parser(myObject.getClass());
}
}
class Parser {
public Parser(Class<?> objectType) {
if (UnsupportedClass.class.isAssignableFrom(objectType)) {
throw new UnsupportedOperationException("Objects of type UnsupportedClass are not allowed");
}
}
}
class UnsupportedClass {}
Parser parser = new Parser(myObject);
public Parser(Object object) {
if (object instanceof UnsupportedClass) {
throw new UnsupportedOperationException("Objects of type UnsupportedClass are not allowed");
}
}