Equals和 ==
equals() 用于引用数据类型(除了基本数据类型8个,都是引用数据类型,包括封装类,Object子类等), 比较是否指向相同的对象, 例如 String str = "abc"; 等效于: char data[] = {'a', 'b', 'c'}; String str = new String(data); 就是str 指向了 new String(data) 这个对象. 如果再有其他变量也指向这个对象,他们比较的结果就返回true;由于此方法在Object里, 所以它有很多重写, 具体要看需求;
如果对象之间用==比较,是比较两个对象的hash值是否相等,你可以认为是在比较两个对象是不是在同一个内存地址的对象.
|