首页 > 代码库 > equals方法变量和常量位置区别
equals方法变量和常量位置区别
对于字符串比较,我的习惯用法是 变量.equals(常量)
比如: a.equals("a")
今天看视频才知道变量在前面与后面有很大影响,正确的写法是常量放前面(可以避免变量为null引起的异常),变量放后面,则上面需要改为("a").equals(a)。
对于JDK API上字符串的equals的官方解释是:
比如:
public class equalsTest { @SuppressWarnings("rawtypes") public static void main(String args[]) { List list = new ArrayList(); String str = null; System.out.println("0".equals(str)); System.out.println(str.equals("0")); System.out.println("0".equals(list.get(2))); System.out.println(list.get(2).equals("0")); }}
上面依次输出:
false
java.lang.NullPointerException
java.lang.IndexOutOfBoundsException: Index: 2, Size: 0
java.lang.IndexOutOfBoundsException: Index: 2, Size: 0
对于判断是否为空 str!=null,这个应该变量放前面后面一般没影响,养成好的习惯的话变量也放在后面。一般对一个字符串进行判断首先进行非空判断,然后进行字符串内容判断,一个正确的例子:
null !=string && !("").equals(string.trim()) && !("null").equals(string);
equals方法变量和常量位置区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。