当我记录一个应该是spark-shell
--master yarn-client
--driver-memory 4g
--executor-memory 4g
--executor-cores 1
--num-executors 4
的变量时,它给了我0.我认为这意味着它是spark.yarn.am.extraJavaOptions=-Dhdp.version=2.3.0.0-2557
,我想排除这种情况。如果它为零,我也想排除它。我只想确定1,2,3中存在数字的情况。
但是,我尝试了以下内容,但没有一个成功排除变量记录为0的情况,但包括记录到1,2,3等的情况。任何人都可以建议我做错了。
NSNumber
感谢您的任何建议
答案 0 :(得分:2)
要测试0值,请尝试以下操作:
NSNumber *num=[NSNumber numberWithInt:0]; or @(0);
if ([num intValue]==0 ) {
NSLog(@"number is 0"); //executes
}
NSNumber *num=[NSNumber numberWithInt:1]; or @(1);
if ([num intValue]==1 ) {
NSLog(@"number is 1"); //executes
}
同样适用于2和3
答案 1 :(得分:1)
NSNumber
是值的对象包装器。您可以将其与nil
进行比较,这是合适的,但在您确定它不是nil
之后,您需要在其上调用一个方法来获取它所代表的实际值。
if (self.number != nil) {
NSLog(@"Number value: %ld", self.number.integerValue);
}