A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秦永辉 中级黑马   /  2012-6-29 09:55  /  2140 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

null !=pt与pt !=null的区别什么什么,pt是一个委托

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
1,null !=pt;//变量null不等于委托pt,由于null是关键字 ,所以该句可能编译有问题;
2。pt !=null;//委托不等于空;

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2012-6-29 10:12
1,null !=pt;//变量null不等于委托pt,由于null是关键字 ,所以该句可能编译有问题;
2。pt !=null;//委 ...

我也觉得有问题,不过
if(null !=pt) //确定委托中有方法
{……}
这是什么意思
回复 使用道具 举报
本帖最后由 许庭洲 于 2012-6-29 15:18 编辑
秦永辉 发表于 2012-6-29 11:13
我也觉得有问题,不过
if(null !=pt) //确定委托中有方法
{……}

if(null !=pt){......}//1,判断null不等于pt,若为true执行{......};2,排除委托是空的;3.if(pt!=null){......}是判断pt不为null,若为true,执行{......};
回复 使用道具 举报
许庭洲 发表于 2012-6-29 11:41
if(null !=pt){......}//1,判断null不等于pt,执行{......};2,排除委托是空的;

问题就在这里,这样的话跟pt!=null有什么区别
回复 使用道具 举报
!=作为一个关系操作符,判断左右两边的操作数是否不相等,那么, 谁左谁右又有什么关系呢? 所以我觉得没什么区别,都是判断是否不为null。 前面有的同学说把null放在前面就会以为null是个变量,又因为null是关键字,造成编译错误; 其实不会的,null永远是关键字,无论其所在位置。
实践是检验真理的唯一标准:

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
其实没什么区别!就是用pt !=null可能一不小心把“!”没输上,虽然程序在编译时没有出错,但是逻辑上有错误!而你用null !=pt就不会出现这种错误了!!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
写程序时没发现有什么区别,关键是一个习惯的问题,用pt != null我感觉更符合我的习惯,有的时候需要注意位置问题,当然,如果明白其原理,就无所谓了,如null !=pt与pt !=null,道理说没什么区别,表达的效果是一样的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马