c#typeof()的java等价物

c#typeof()的java等价物,java,reflection,Java,Reflection,我对java非常陌生。假设我有一个xml解析器,并从中创建对象。在c#中,我希望: parser p = new parser(typeof(myTargetObjectType)); 在我的解析器类中,我需要知道我正在生成哪个对象,以便在无法进行解析时抛出异常。 如何在jave做同样的事情?我的意思是如何接受像typeof(myObject) 我知道每种语言都有自己的做事方式。我在问java中的方法是什么,java将类作为java类型上任何反射操作的入口点 类的实例表示类中的类和接口 运行

我对java非常陌生。假设我有一个xml解析器,并从中创建对象。在c#中,我希望:

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");
    }
}