您的位置:首页 > 其它

NULL 、nil、 Nil 、[NSNull null] 、@"" 整理

2015-01-26 15:54 274 查看


以上是原来在网上找到的,介绍的很不错。

(1)NULL<--->0x0 空的基本类型,基本类型的指针指向为空

int *a = NULL;

NSLog(@"%p",a);//0x0

(2)nil<--->(null) 空的对象,对象的指针指向为空

NSString *str = nil;

NSLog(@"%@",str);//(null)

(3)Nil<--->(null) 空的类,类的指针指向为空

Class someClass = [NSString class];

someClass = Nil;

NSLog(@"%@",someClass);//(null)

(4)[NSNull null]<---> <null> 集合对象无法包含nil作为其具体值,nil值用一个特定的对象NSNull来表示

NSArray *arr = @[@"1",[NSNull null],@"3"];

NSLog(@"%@",arr);/*

(

1,

"<null>",

3

)

*/

if ([NSNull null] == arr[1]) {

NSLog(@"空");

}else{

NSLog(@"有");

}//空

(5)@“” 对象存在,只是没有内容

NSString *str1 = @"";

NSLog(@"1%@2",str1);//12

(6)比较

NSLog(@"NULL == %p Nil == %p nil == %p [NSNull null] == %p",NULL,Nil,nil,[NSNull null]);//NULL == 0x0 Nil == 0x0 nil == 0x0 [NSNull null] == 0xbce6c8

if (NULL == nil && Nil == nil && NULL == Nil) {

NSLog(@"相同");

}else{

NSLog(@"不相同");//Code will never be executed(代码永远不会被执行)

}//相同

(7)关于[NSNull null]的赋值

NSArray *arr11 = @[@"123",[NSNull null],@"456"];

NSArray *arr22 = [NSArray arrayWithArray:arr11];

NSLog(@"arr11 == %@ arr22 == %@",arr11,arr22);/*

arr11 == (

123,

"<null>",

456

)

arr22 == (

123,

"<null>",

456

)

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: