如何通过String名称获取类引用?

时间:2017-10-01 16:16:51

标签: java reflection compiler-errors quartz-scheduler

我试图让以下方法调用dynamic:

double

通过执行以下操作:

JobDetail job = newJob(RunMeJob.class)
                  .withIdentity("myJob", "group1")
                  .build();

但我收到以下错误:

  

JobBuilder类型中的newJob方法(Class<?extends Job>)不是   适用于参数(Class< capture#3-of?>)

以下是private void scheduleJob(final SchedulerJob job, final SchedulerTrigger trigger) { final String fullyQualifiedName = "com.crm.scheduler.job.RunMeJob";//"com.crm.scheduler.job" + job.getImplementation(); Class<?> cls = Class.forName(fullyQualifiedName, false, null); JobDetail jobDetail = newJob(cls) .withIdentity(job.getExternalReference(), trigger.getExternalReference()) .build(); } 类:

RunMeJob

如何动态指定类?

1 个答案:

答案 0 :(得分:1)

基本上,你有正确的想法,但是你不能将任何旧的Class对象传递给newJob方法 - 它必须是代表{{1}的Class实例必须在其泛型中指定:

Job