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
)
*/
相关文章推荐
- nil Nil NSNull @""的区别
- nil , Nil , NULL, [NSNull null] , @"" 详解
- @""与null和nil的区别
- 关于NSLocalizedString(@"Foo %@",nil) 使用 NSLocalizedString实现App文本的本地化
- NSNull&nil&Nil&NULL
- String.Empty,NULL和""的区别
- XML解析之xsi:nil="true"(续)
- struts中post方式上传文件,enctype="multipart/form-data",request.getParameter("file") 是null的问题分析
- VB中0、""(空字串)、Null、Empty、与 Nothing 的区别
- VB中 0、""(空字串)、Null、Empty、与 Nothing 的区别
- 手机"用户界面和多媒体"版面有价值问题整理[j2medev.com][0406更新]
- 你知道System.out.println((null+"").length()); 等于多少吗?
- string.Empty与"",null的区别,用哪个更好呢?
- "空指针错误 java.lang.NullPointerException "
- 区分JS中的undefined,null,"",0和false
- C#中的DBNull、Null、""和String.Empty解释
- XML解析之xsi:nil="true"
- string str=null;和string str="";的区别(网摘)
- null和“”的区别,null是空的,""并不是空
- C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别