在Java中,pop()
函数以对象的形式返回弹出的值。
我使用String
方法将对象转换为.toString()
。我有一个角色,我将其转换为String
。现在我的问题是,如果我比较两个字符串,它们是否相同?
示例:(假设我已经在堆栈中有一些值)
Stack<Character> stack=new Stack<>();
Character c=stack.pop();
//let the returned value is : a
String a=c.toString();
String b=Character.toString('a');
现在我将两个字符串比作:
if(a.equals(b)){System.out.println("same");}
条件是否成立?
答案 0 :(得分:1)
当然它确实如此,但这既不是一种有效的方法,也不是一种推荐的方法来确定堆栈的顶部是否与给定的字符相同
试试这个
import java.util.Stack;
public class test
{
public static void main(String[] args)
{
Stack<Character> stack=new Stack<>();
stack.push('a');
Character c=stack.pop();
if(c.compareTo('a')==0)
System.out.println("same");
}
}
说明:Character
java类实现了Comparable
接口。因此,您可以直接比较Character类的对象
或
你可以做一些像这个简单的事情
import java.util.Stack;
public class test
{
public static void main(String[] args)
{
Stack<Character> stack=new Stack<>();
stack.push('a');
Character c=stack.pop();
if(c=='a')
System.out.println("same");
}
}
说明:Character
对象为un-boxed并转换为原始字符类型