Java 相等判断符"=="

相等判断符"=="介绍

  • "=="相等判断符用于比较基本数据类型和引用类型数据. 当比较基本数据类型的时候比较的是数值, 当比较引用类型数据时比较的是引用(指针).

  • 作用1:判断引用类型数据是否相等
    首先基本数据类型指的是Java中的八大数据类型: byte, short, int, long, float, double, char, boolean
    这八大基本数据类型有个共同的特点是它们在内存中是有具体值的, 比如说一个int类型的数据"2", 它在8位数据总线的机器上(假设的)保存形式为0000 0010.
    当使用"=="比较两个基本数据类型的时候, 就是比较它们各自在内存中的值.

  • 作用2:判断引用类型数据是否相等
    引用数据类型在字面上也是很好理解的, 就是一个引用, 它会指向一个具体的对象.
    比如说Student stu = new Student();, 这里的stu就是一个引用, 它指向的是当前new出来的Student对象. 当我们想要操作这个Student对象时, 只需要操作引用即可, 比如说int age = stu.getAge();.
    所以用"=="判断两个引用数据类型是否相等的时候, 实际上是在判断两个引用是否指向同一个对象.
    看下面的示例

     public static void main(String[] args) {
         String s1 = "hello";    //s1指向常量池中的"hello"字符串
         String s2 = "hello";    //s2也指向常量池中的"hello"字符串
         System.out.println(s1 == s2);   //true
         
     	 String s3 = new String("hello");   //s3指向的是堆内存中的字符串对象 
     	 System.out.println(s1 == s3);   //false
     }
    

从上面的例子可以看到, 由于引用"s1"和"s2"指向的都是常量池中的"hello"字符串, 所以返回true.
而"s3"指向的是新创建字符串对象, 因为只要动用了new关键字, 就会在堆内存创建一个新的对象,
也就是说s1和s3指向的是不同的字符串对象, 所以返回false.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值