Class clas;
try {
clas = ModuleManager.class.getClassLoader().loadClass(className);
if (clas.getSuperclass() == RequestProcess.class) {
process = (RequestProcess)clas.newInstance();
}
else {
throw new RuntimeException(Log.PRIVATE_SIGN_CORE
+ className
+ " not RequestProcess's subclass");
}
}
这段代码的Class下会有个警告. 意思可能是我没有把他泛型化.
如果想解决这个警告,非@SuppressWarnings("unchecked")方式; 具体要怎么做?

解决方案 »

  1.   

    你的警告是clas和process没有被使用到。java中你只创建了对象。以后并没有使用到的话就会有警告的
      

  2.   

    LS...  别这么样好不好... 你认为我会问那么低级的问题吗你只要自己尝试过使用class自己写反射就会明白这个地方的警告是什么情况了
      

  3.   

    Class<?> 这样可以消除Class的警告。楼主使用IDE也可以直接在警告处使用Ctrl+1(Eclipse)IDE会提示你应该怎么来处理的。
      

  4.   

    Class<?> 是什么意思呢,是不是说 这个东西将来可以 容纳任何类型的class对象.
      

  5.   


    任何类类型<T>,并且只读
      

  6.   


    你在IDE中写好了,之后把鼠标放在上面,都会有提示的吧。
    善用IDE(?是表示通配符,在没有指定的时候表示Object)。
      

  7.   

     * @param <T> the type of the class modeled by this {@code Class}
     * object.  For example, the type of {@code String.class} is {@code
     * Class<String>}.  Use {@code Class<?>} if the class being modeled is
     * unknown.
     *
     * @author  unascribed
     * @version 1.202, 04/01/09
     * @see     java.lang.ClassLoader#defineClass(byte[], int, int)
     * @since   JDK1.0
     */
    public final
        class Class<T> implements java.io.Serializable, 
      

  8.   

    程序员不关心警告,只关心bug
      

  9.   

    方法加上注解@SuppressWarnings({"unchecked" })