[英]equals() method return false when comparing between a subString and a String array's 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
语句返回true
时stk1.push(element).equals(element)
是true
,返回false
,否则,您可以简单地返回boolean
值stk1.push(element).equals(element)
,并摆脱了if
声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.