博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objetive-C 中的相等比较
阅读量:5092 次
发布时间:2019-06-13

本文共 546 字,大约阅读时间需要 1 分钟。

1、== 用于比较两个对象的地址是否相同

  1)需要注意的是相同的短字符串,一定大小整数(nsnumber),Objetive-C 底层会做cache,两个对象,指向同一个地址。

  例如:

  

    NSString *str1 = @"hello";

    NSString *str2 = @"hello";

    NSLog(@"%d\n",str1 == str2);

    NSNumber *num1 = @(1);

    NSNumber *num2 = @(1);

    NSLog(@"%d",num1 == num2);

 

  输出 1 1

  2)nsnull类产生的对象都是同一个地址,所以nsnull对象做相等比较时除了可以用isEqual也可以用==

 

2、isEqual方法是在NSObject中定义的,用于比较两个对象的内容是否相等。

  NSObject的源代码中是比较两个对象的指针是否相等

  对于NSString来说,比较两个字符串是否相等时,除了可以用这个方法,也可以用ISEqualToString这个方法,后面这个方法快,可以参考下面的源代码。

    

3、

  

转载于:https://www.cnblogs.com/doudouyoutang/p/4384821.html

你可能感兴趣的文章
android中自定义下拉框(转)
查看>>
Android设计模式源码解析之外观模式(Facade)
查看>>
使用word发布博客
查看>>
构建oracle12c的Docker镜像
查看>>
用户权限命令(chmod,chown,umask,lsattr/chattr)
查看>>
Maven详解
查看>>
Linux系统中‘dmesg’命令处理故障和收集系统信息的7种用法
查看>>
数据结构 : Hash Table [II]
查看>>
面向对象的小demo
查看>>
获取地址栏参数
查看>>
java之hibernate之helloworld
查看>>
微服务之初了解(一)
查看>>
Iterator invalidation(迭代器失效)
查看>>
GDOI DAY1游记
查看>>
Android 网络编程
查看>>
移动端前端笔记 — 遇到的常见JS与CSS问题及解决方法
查看>>
算法笔记_039:杨辉三角形(Java)
查看>>
C# 退出程序方法
查看>>
命令行卸载IE
查看>>
解决图片三像素的问题
查看>>