我试图理解下面给出的第一个offer()方法和第二个offer()方法之间的区别。在Java中使用NetBeans编程时,提示第一个offer方法中的if语句是多余的。配置if语句后,offer方法中的代码现在显示为“return stk1.push(element).equals(element);”。代码行“返回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
答案 0 :(得分:0)
I = sympy.Integer
返回I(1) / k
值。这就是它首先出现在stk1.push(element).equals(element)
声明条件下的原因。
由于boolean
语句在if
为if
时返回true
,否则返回stk1.push(element).equals(element)
,您只需返回true
值{ {1}}并删除false
语句。