1.==和equals
==是操作符,用于判断(引用)the same one(变量(栈)内存中存放的对象的(堆)内存地址)
equals用于判断(对象的)值是否相等,(equals只能用于对象(类,不能用于基本数据类型,必须转换成包装器类))String重写了equals方法, Object中的equals方法和“==”一样,而String、Integer等等一些类,重写了equals,才使得equals和“==不同”,所以,当自己创建类时,自动继承了Object的equals方法,要实现不同的等于比较,必须重写equals方法。
“==”比”equal”运行速度快,因为”==”只是比较引用。
语句解析:String s=null;(建立一个s的对象,但对象未指向任何引用)
String s=”“;(建立一个s的对象,但是这个对象指向(“”)一个空的字符串的引用)
如果String s=null;之后再进行判断:1.s==null这个返回true, 2.s==”“这个返回false , 3.s.equals(“”)这里会抛出异常,因为equals是对s这个对象指向的引用做的判断,而s赋值时是没有指向任何引用的。
如果String s=“”;之后再进行判断:1.s==null这个返回false, 2.s==”“这个返回true,3.sequals(“”)这里true
和内存分配相联系来判断即可,在判断String是否相等的时候建议用equals。
java编程遇到的一些基本语法总结
最新推荐文章于 2022-09-01 20:24:32 发布