问题描述
一直以来都是str.equals("AA")这么写,后来听同事说建议("AA").equals(str)这样写,问其原因也没有说出个什么来。后来项目跑LoadRunner发现确实("AA").equals(str)这么写比str.equals("AA")有优势,但是再网上一直没查出原因来,求解,谢谢。同样还有str == null和null == str 颠倒过来写的区别
解决方案
首先,空指针问题;楼主不提这个问题我还没想到过效率问题,仅仅认为"a".equals(str)可以回避空指针先谢谢看来要看看源码才能看出点头绪来
解决方案二:
引用str == null和null == str 区别在于前者你少写个等号是赋值不会报错后者会报错恩,妙。
解决方案三:
str == null和null == str 区别在于前者你少写个等号是赋值不会报错后者会报错,当你做if判断的时候在你的IDE里面后者少写个等号报错会提醒你,这样会使你的程序免得因为马虎出现问题。"AA".equals(str)确实是楼上所说回避空指针
解决方案四:
楼上正解。主要是为了规避空指针的问题,如果是性能方面的话就要从内存寻址来考虑了。
解决方案五:
"AA".equals("AA")与"AA".equals("AA")这样应该没什么区别吧
时间: 2024-11-10 11:26:58