Java中字符串的==和equals方法。力扣150题。逆波兰表达式求值。
创始人
2024-11-14 21:33:51
0

今天在刷力扣第150题目的时候。使用到了字符串内容的比较。

在IDEA中我编写的代码是这样的。

public static int evalRPN(String[] tokens) {         Deque dq=new ArrayDeque<>();         int len=tokens.length;         for(int i=0;i

字符串比较的时候使用的是“==”运算符,结果运行通过,测验也能得到正确的结果

#输入 tokens=["2","1","+","3","*"] #输出 9

但是我将它复制到力扣中去,编译就不通过了。报以下的错误。

java.lang.NumberFormatException: For input string: "*"   at line 67, java.base/java.lang.NumberFormatException.forInputString   at line 647, java.base/java.lang.Integer.parseInt   at line 777, java.base/java.lang.Integer.parseInt   at line 20, Solution.evalRPN   at line 56, __DriverSolution__.__helper__   at line 86, __Driver__.main

可以看到错误是,最后将尝试将“*”转换成int类型而报错,这就证明栈顶的元素是“*”,整个栈只进行了入栈操作,而并没有出栈。

通过了解,我得知,在Java中,String的“==”运算符是用来比较两个对象的引用是否相等(对于其他引用对象类型也一样)。而如果要比较两个String的值是否相同,要使用equals方法。

于是我将代码修改成

public int evalRPN(String[] tokens) {         Deque dq=new ArrayDeque<>();         int len=tokens.length;         for(int i=0;i

这就成功通过运行了。

至于为什么使用“==”在idea中也能实现比较字符串内容的原因,大概是因为idea内置了优化把,自动将它识别成了equals?

相关内容

热门资讯

黑科技最新(wepoke挂靠谱... 黑科技最新(wepoke挂靠谱推荐)外挂透明挂辅助工具(透视)好像存在有挂(有挂透视)-哔哩哔哩1、...
黑科技了解(WePoKe)we... 黑科技了解(WePoKe)wepower透视辅助真假(透明挂)一贯存在有挂(2024已更新)(哔哩哔...
大神推荐!菠萝德州偷偷看功能(... 大神推荐!菠萝德州偷偷看功能(ai代打)存在挂教程(2023已更新)(哔哩哔哩);菠萝德州偷偷看功能...
黑科技代打(线上德州辅助工具有... 黑科技代打(线上德州辅助工具有哪些)外挂透明挂辅助软件(透视)好像有挂(果真有挂)-哔哩哔哩;1、实...
黑科技黑科技(WePoKe)w... 黑科技黑科技(WePoKe)wpk有外挂吗(透明黑科技)其实真的是有挂(2023已更新)(哔哩哔哩)...
我来教教你!德扑之星开桌怎么设... 我来教教你!德扑之星开桌怎么设置(透明黑科技)规律教程(2023已更新)(哔哩哔哩)1、很好的工具软...
黑科技ai挂(微扑克ai分析器... 黑科技ai挂(微扑克ai分析器)外挂透明挂辅助黑科技(透视)好像是真的有挂(有挂方针)-哔哩哔哩1、...
黑科技黑科技(WePoKe)德... 黑科技黑科技(WePoKe)德扑之星如何分别是否(透明挂黑科技)一贯真的有挂(2023已更新)(哔哩...
我来向大家传授!微扑克有规律吗... 我来向大家传授!微扑克有规律吗(智能ai)爆料教程(2025已更新)(哔哩哔哩)1、任何德州ai辅助...
黑科技辅助(德州俱乐部俱乐部系... 黑科技辅助(德州俱乐部俱乐部系统)外挂透明挂辅助助手(透视)果然是真的有挂(有挂技巧)-哔哩哔哩;1...