日期:2014-05-20  浏览次数:20774 次

代码中到处是警告该怎么优化
Java code

            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")方式; 具体要怎么做?

------解决方案--------------------
你的警告是clas和process没有被使用到。java中你只创建了对象。以后并没有使用到的话就会有警告的
------解决方案--------------------
Class<?> 这样可以消除Class的警告。

楼主使用IDE也可以直接在警告处使用Ctrl+1(Eclipse)IDE会提示你应该怎么来处理的。
------解决方案--------------------
Class<?>
------解决方案--------------------
探讨

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

------解决方案--------------------
探讨

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

------解决方案--------------------
* @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,
------解决方案--------------------
程序员不关心警告,只关心bug
------解决方案--------------------
方法加上注解

@SuppressWarnings({"unchecked" })