这段时间整理了一下Java类加载知识点的内容,参考别人的代码时发现让人纠结的问题,一是注解比代码行数还多,一是可以两行写好的代码用了20行来写,再就是应该多选写的代码被打包写成了一行!
这里就展示其中的一个点:将两行写成二十行的问题。
他的写法
@Override
public Class<?> loadClass(String name,boolean resolve) throws ClassNotFoundException {
Class clazz = null;
clazz = findLoadedClass(name);
if (clazz != null ) {
if (resolve){
resolveClass(clazz);
}
return (clazz);
}
if(name.startsWith("java.")){
try {
ClassLoader system = ClassLoader.getSystemClassLoader();
clazz = system.loadClass(name);
if (clazz != null) {
if (resolve)
resolveClass(clazz);
return (clazz);
}
} catch (ClassNotFoundException e) {
// Ignore
}
}
return customLoad(name,this);
}
我的写法
@Override
public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
Class c = findLoadedClass(name);
if( name.startsWith("java.") ){
ClassLoader system = ClassLoader.getSystemClassLoader();
c = system.loadClass(name);
}
if( null==c ) c = findClass(name);
if( null!=c && resolve ) resolveClass(c);
return c;
}
最后我想问问小伙伴,是不是下手前要先动脑子!?
网友评论