黑马程序员技术交流社区
标题:
高新技术之类加载器,出现空指针异常,求解
[打印本页]
作者:
tacyjay在路上
时间:
2014-5-19 16:05
标题:
高新技术之类加载器,出现空指针异常,求解
本帖最后由 tacyjay在路上 于 2014-5-20 08:52 编辑
张孝祥老师第28个视频中,按老师的步骤敲得,出现空指针异常,找不出原因,求大神。
问题见代码。
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;
public class ReflectTest2 {
public static void main(String[] args)throws Exception {
InputStream ips = ReflectTest2.class.getClass().getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
//这里为什么报NullPointerException???
Properties props = new Properties();
props.load(ips);
ips.close();
String className = props.getProperty("className");
Collection collections =(Collection) Class.forName(className).newInstance();
ReflectPoint pt1 = new ReflectPoint(3,3);
ReflectPoint pt2 = new ReflectPoint(5,5);
ReflectPoint pt3 = new ReflectPoint(3,3);
collections.add(pt1);
collections.add(pt2);
collections.add(pt3);
collections.add(pt1);
System.out.println(collections.size());
}
}
class ReflectPoint {
private int x;
public int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public ReflectPoint(int x, int y) {
super();
this.x = x;
this.y = y;
}
}
复制代码
作者:
月光海
时间:
2014-5-19 17:42
ReflectTest2.class.getClass().getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
复制代码
改成
ReflectTest2.class.getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
复制代码
你已经获得了这个类的字节码文件对象为什么还要再次获取,再获取类加载器可就不是加载那个类的类加载器了,就是BootStrapt那个了,那个就是null,没有getRes...获取流的方法
作者:
tacyjay在路上
时间:
2014-5-20 08:51
月光海 发表于 2014-5-19 17:42
改成
你已经获得了这个类的字节码文件对象为什么还要再次获取,再获取类加载器可就不是加载那个类的类加载 ...
额。。。。是的。。多写了。。。谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2