黑马程序员技术交流社区
标题:
关于张孝祥老师银行系统的两个易错点
[打印本页]
作者:
Teemo_Mann
时间:
2014-4-16 18:51
标题:
关于张孝祥老师银行系统的两个易错点
本帖最后由 Teemo_Mann 于 2014-4-17 22:56 编辑
我写这个程序的时候不是完全跟着张老师一步步写的,所以有些地方很容易错,我和大家分享下,顺便问一个问题.
第一个是
NumberMachine类
private static NumberMachine numberMachine = new NumberMachine(); //new这句千万不能写在下面的getInstance方法里,不然每次会初始化Manager,导致一直取到第一个第一个,我调了1小时
private NumberMachine(){
}
public static NumberMachine getInstance(){
return numberMachine;
}
复制代码
第二个是张老师的
NumberManager里面,fetch的函数是这么写的
public synchronized Integer fetchServiceNumber(){
return queueNumber.remove(0);
}
复制代码
但是我发现我这么写会报数组越界错误,因为如果queueNumber里面没东西,不会返回null,所以这里不知道是不是JDK版本问题,大家知道的回答一下,所以需要先判断size即
public synchronized Integer fetchServiceNumber(){
if (queueNumber.size()>0){
return queueNumber.remove(0);
}else{
return null;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2