==和equals的区别

==的理解:

要理解 == 我们学要从两个方面来理解:

(1) == 两边为 8 中基本数据类型时:

    当 == 两边为8中基本数据类型时, == 判断的是两边变量中存放的内容是否相等。例:

public class Test {

public static void main(String[] args) {

int a = 10;

int b = 10;

if (a == b) {

   System.out.println("变量a和变量b中的值相等");

}

}

}

上面的例子的运行结果是在控制台中输出"变量a和变量b中的值相等" 我们可以看出当 == 两边为8种基本数据类型时比较的时内容换句话说就是比较变量的值。

(2) == 两边为引用数据类型时:

     当 == 两边为引用数据类型事,== 判断的是引用数据类型的对象的内存地址是否一样,如果 == 比较的内存地址一样表示 == 两边是同一个对象,否则 == 两边不是同一个对象。例:

public class Test {

public static void main(String[] args) {

            //在8中数据类型中没有String类型所以String是属于引用数据类型的

String str1 = new String("abc");

            //在这里在创建一个str2对象让他的值和str1一样

String str2 = new String("abc");

            //我们在用 == 来进行判断会发现 str1 == str2条件不成立我们可以看出这里比较的不是str1和str2的值

if (str1 == str2) {

   System.out.println("对象str1和对象str2是同一对象,他们的内存地址相同");

} else {

   System.out.println("对象str1和对象str2不是同一对象,他们的内存地址不相同");

}

}

}

equals的理解:

equals的理解就容易多了,equals他是一个方法,而方法只有对象才能拥有,所以equals的左边一定是一个对象他的语法格式因该是:对象名.equals(比较的内容)。

例:

public class Test {

public static void main(String[] args) {

String str1 = new String("abc");

        //equals的括号中可以直接写入要比较的内容

if (str1.equals("abc")) {

   System.out.println("对象str1的内容和 abc 相同");

}

String str2 = new String("abc");

        //equals括号中也可以是一个要比较的对象,注意这里比较的是str1对象和str2对象的内容

if (str1.equals(str2)) {

   System.out.println("对象str1的内容和 str2 的内容相同");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值