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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 突然世界晴 中级黑马   /  2015-3-12 19:58  /  903 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. finally
  2. {
  3.   try
  4.   {
  5.    if(bufr!=null)  //判断对象为空???????
  6.    bufr.close();
  7. }
  8. catch(IOException e)
  9. {
  10. throw new Runtimexception("读取关闭失败");
  11. }
  12. }
复制代码

  if(bufr!=null)  //判断对象为空??????? 这是什么意思? 对象可以直接用!=是什么情况

7 个回复

倒序浏览
当bufr不是空时才进行关闭, 这是一种常用的保护机制。
回复 使用道具 举报
羽飞翔 发表于 2015-3-12 20:13
当bufr不是空时才进行关闭, 这是一种常用的保护机制。

?为什么可以判断对象对空
回复 使用道具 举报
!=是判断引用变量是否有指向堆内存
回复 使用道具 举报
都为空了你还关什么。所以判断一下不为空才关呀!
回复 使用道具 举报
对象为null时调用方法是会报错的
回复 使用道具 举报
Rorine 中级黑马 2015-3-12 23:52:55
7#
这里的原意是前面有调用bufr.close();方法的吧,但是没有调用成功或者没有关闭成功,在finally这就可以先判断一下它是否为空,不为空就关闭它,免得浪费资源。
回复 使用道具 举报
Zoe- 中级黑马 2015-3-13 00:13:35
8#
!=你没有学过吗?就是判断它是否为空罢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马