android之判断:“==”和“equals”区别

  1.首先我们来复习下Java中的数据类型
                                           ┏数值型━┳━整数型:byte short int long
              ┏基本数据类型━━┫              ┗━浮点型:float double
              ┃                            ┣字符型:char                                          
数据类型╋                            ┗布尔型:boolean              
              ┃                            ┏类(class)
              ┗引用数据类型━━╋接口(interface)

┗数组(array)

两者作用:

“==”:比较简单基本数据类型的数值是否相等

比较两个引用变量是否指向同一个对象判断内存地址是否相等

==是比较内存中的地址、是对象的句柄

"equals":比较两个对象的内容是否相等

equals比较的是地址内的内容、是对象

2.举例

public class TestEqual {
 public static void main(String[] args) {
  // 简单类型比较
  string1="aaa";
  string2="aaa";
  System.out.println("string1= = string2? " + (string1 = = string2));

  // 引用类型比较
  String string3=new String("aaa");
  String string4=new String("aaa");
  System.out.println("string3= = string4? " + (string3 = = string4));
 }
} 
打印: string1== string2? true
string3== string4? false

从结果可以看出,对简单类型变量,变量string1和string2数值都为aaa,所以“==”比较后返回真,而对于引用型变量,它们指向两个不同的对象,“==”比较后返回假。如果用equals方法比较将返回真。如下:

  // 引用类型比较
  String string3=new String("aaa");
  String string4=new String("aaa");
  System.out.println("string3= = string4? " + (string3.equals(string4)));

打印后:"string3= = string4? " true。
小知识点:
基本数据类型都有相应的包装类(Wrapper),比如Integer之于int, Double之于double。这些包装类是类了,也就是引用类型了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值