【发布时间】:2018-05-17 03:50:55
【问题描述】:
我试图理解下面给出的第一个 offer() 方法和第二个 offer() 方法之间的区别。在 Java 中使用 NetBeans 进行编程时,提示第一个 offer 方法中的 if 语句是多余的。配置 if 语句后,offer 方法中的代码现在变为“return stk1.push(element).equals(element);”。 “return stk1.push(element).equals(element)”这行代码究竟做了什么?它是如何处理冗余的?
//FIRST - my attempt
public BinaryPollQueue()
{
stk1 = new Stack<>();
stk2 = new Stack<>();
} //BinaryPollQueue
public boolean offer(E element)
{
if(stk1.push(element).equals(element))
{
return true;
} //if
else
{
return false;
} //else
} //offer
//SECOND - configured based on hint given
public BinaryPollQueue()
{
stk1 = new Stack<>();
stk2 = new Stack<>();
} //BinaryPollQueue
public boolean offer(E element)
{
return stk1.push(element).equals(element);
} //offer
【问题讨论】:
标签: java binary stack queue push