本文主要是介绍API学习java.lang.Object.equals,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
package com.wonders.week01.object;/*** JDK1.7* equals方法* (1)java.lang.Object类* (2)方法的访问权限修饰符是public* (3)方法的返回值类型是boolean类型* (4)方法的参数是一个需要做比较的对象的引用* (5)返回值:如果当前的对象和参数对象一样,则返回true,否则返回false* (6)equals方法对于非空的对象引用可以做等值操作的比较。如果一个对象为null,那么它就不具有equals方法,如果使用了就会抛NullPointException异常* (7)如果非空对象引用是反射的:对于任何非空引用的值x,x.equals(x)应该返回true.* (8)具有对称性:如果非空对象引用x和y存在x.equals(y),return true,那么也一定存在y.equals(x) return true.* (9)具有传递性:如果存在非空对象引用x,y,z并且x.equals(y),return true,y.equals(z)return true,那么一定存在x.equals(z) return true.* (10)具有一致性:对于任何的非空引用x和y,假设所比较的对象未曾被修改时,如果存在多个x.equals(y)的调用,它们要么全部返回true,要么全部返回false* (11)对于任何的非空对象引用x,x.equals(null),总是会返回false* @author liyongyong**/
public class EqualsTest {public static void main(String[] args) {String str = "aaa";String s = "aaa";String s1 = "aaa";//验证(7) 对于这条我不知道自己理解的是否正确。。。。求大神解答一下 trueif (str.getClass().equals(String.class)) {System.out.println("true");}else {System.out.println("false");}//(8)equals具有对等性if (str.equals(s) && s.equals(str)) {System.out.println("equals具有对等性");}else {System.out.println("equals不具有对等性");}//(9)equals具有传递性if (str.equals(s) && s.equals(s1) && str.equals(s1)) {System.out.println("equals具有传递性");}else {System.out.println("equals不具有传递性");}//(11)s.equals(null)返回falseif (s.equals(null)) {System.out.println("s.equals(null)返回true");}else {System.out.println("s.equals(null)返回false");}}
}
这篇关于API学习java.lang.Object.equals的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!