我有一个正在由多个线程工作的堆栈对象。其中一个线程是一个对Stack对象执行弹出操作的工作线程。我想处理堆栈的空的情况下,我看到两个选项捕捉EmptyStackException与测试是堆栈是空的
try{
Object obj = (Object) d_stackObj.pop();
}
catch (EmptyStackException e)
{ ...}
OR
if(! d_stackObj.empty())
Object obj = (Object) d_stackObj.pop();
else
{ ...}
我的问题是,它的上面是一个更好的办法,为什么?
谢谢!
我不会过分担心表演 – 2009-07-15 20:25:31