在ObjectiveC中比较两个字符串用 isEqualToString:(NSString *)string;方法;
isEqulaToString:可以用来比较接收方和当作参数传递来的字符串,它返回一个BOOL型数据来表示两个字符串的内容是否相同。使用方法如下:
NSString *str1 = @"123";
NSString *str2 = @"465";
if([str1 isEqualToString:str2])//if(str1 isEqualToString:str2) 错误;
else
输出结果如下:
2013-04-12 13:43:32.713 String[3255:303] the two strings are not equal!
比较两个字符串是否相等时,应该用isEqualToString: 而不能仅仅只是比较字符串的指针值,例如:
if([str1 isEqualToString:str2])
NSLog(@"The strings are the same!");
和
if(str1 == str2)
NSLog(@"The two strings are the same object!");
是不同的,
因为,==运算符只是判断str1 和 str2 的指针数值,而不是它们所指的对象,由于str1 和 str2 是不同字符串,所以第二种比较方式会认为它们是不同的
有时,我们想检查两个对象的标识:str1 和 str2 是同一个对象吗?这时就应该用运算符==。如果是想查看等价性(即两个字符串是否代表同一个事物吗),那么请使用isEqualToString:。