A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18704635324 中级黑马   /  2016-7-6 18:58  /  1612 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

NSString *str1 = @"abcde";
NSString *str2 = [NSString stringWithFormat:@"abcde"];
为什么用if判断上面的两个字符串是否相同的结果是不想等哇?

9 个回复

倒序浏览

看了半天我也不会。。。
回复 使用道具 举报
SpaceX 发表于 2016-7-6 19:09
看了半天我也不会。。。

是啊,完全不知道
回复 使用道具 举报
字符串比较用 isEqualToString

屏幕快照 2016-07-06 下午9.15.57.png (59.79 KB, 下载次数: 29)

屏幕快照 2016-07-06 下午9.15.57.png
回复 使用道具 举报
FFFF001 发表于 2016-7-6 21:18
字符串比较用 isEqualToString

原来是这样。。。。。。。
回复 使用道具 举报
你说的这两个字符串,内容相同,但是在内存中的地址不同,
用if判断的是地址,所以不同

点评

赞同!!  发表于 2016-7-7 14:20
回复 使用道具 举报
堕落天使 发表于 2016-7-7 08:59
你说的这两个字符串,内容相同,但是在内存中的地址不同,
用if判断的是地址,所以不同 ...

就是不能用IF来判断吧。好像懂了。。。
回复 使用道具 举报
M.W 中级黑马 2016-7-8 18:23:17
8#
18704635324 发表于 2016-7-7 13:10
就是不能用IF来判断吧。好像懂了。。。

不是不能用“if”来判断
“if”是用来进行条件控制,应该说是不能用“==”来判断

“==”判断的是字符串的内存地址

- (BOOL)isEqualToString:(NSString * _Nonnull)aString;  判断的是两个字符串是否相同
回复 使用道具 举报
M.W 发表于 2016-7-8 18:23
不是不能用“if”来判断
“if”是用来进行条件控制,应该说是不能用“==”来判断

懂啦~~,谢谢啦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马