请先看这个片段:
public MultiThreadManager( Class<T> c) {
T[] allJobs = (T[]) Array.newInstance( c , MAX_THREAD_SIZE ) ;
for ( int i = 0 ; i < MAX_THREAD_SIZE ; i ++ ) {
allJobs[i] = (T) new Object();
service.submit( allJobs[i] );
getWaitingThreads().add( allJobs[i] );
}
}
这是一个例外:
Exception in thread "main" java.lang.ClassCastException: java.lang.Object cannot be cast to slave.JobTemplate
我正在尝试做的事情:
MultiThreadManager 的构造函数应该采用实现 Callable 的泛型类型(比如 Job.java )。创建所有这些通用数据类型 (Job,java) 的数组。初始化它,以便通用数据类型 ( Job.java ) 的构造函数将在执行器服务中运行并执行它们。
请帮助我识别我的错误或请提出更好的方法。
先感谢您
谢谢大家,但事情有点复杂:Herez其他信息:
public class Job extends JobTemplate<String> {...details ...}
public abstract class JobTemplate< T > implements Callable<T> {...details..}
最后
MultiThreadManager< Job > threadManager = new MultiThreadManager< Job >( Job.class );
再次感谢:)