本文主要是介绍NULL 、nil、 Nil 、[NSNull null] 、@ 整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以上是原来在网上找到的,介绍的很不错。
(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
)
*/
这篇关于NULL 、nil、 Nil 、[NSNull null] 、@ 整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!