• Objetive-C 中的相等比较


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

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

      例如:

      

        NSString *str1 = @"hello";

        NSString *str2 = @"hello";

        NSLog(@"%d ",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、

      

  • 相关阅读:
    HDU_5057_分块
    HYSBZ_2002_分块
    HDU_1166_树状数组
    HDU_5692_dfs序+线段树
    多重背包
    二进制中一的个数
    康托展开
    vector, map, queue,set常用总结
    错误票据
    高精度计算
  • 原文地址:https://www.cnblogs.com/doudouyoutang/p/4384821.html
Copyright © 2020-2023  润新知