繁体   English   中英

在offer方法中,“ return stk1.push(element).equals(element)”有什么作用?

[英]In the offer method, what does “return stk1.push(element).equals(element)” do?

我试图理解下面给出的第一个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

stk1.push(element).equals(element)返回一个boolean值。 这就是为什么它首先出现在if语句条件下的原因。

因为你if语句返回truestk1.push(element).equals(element)true ,返回false ,否则,您可以简单地返回booleanstk1.push(element).equals(element) ,并摆脱了if声明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM