黑马程序员技术交流社区

标题: 缓存区一个小问题不懂 [打印本页]

作者: 突然世界晴    时间: 2015-3-12 19:58
标题: 缓存区一个小问题不懂
  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)  //判断对象为空??????? 这是什么意思? 对象可以直接用!=是什么情况

作者: 羽飞翔    时间: 2015-3-12 20:13
当bufr不是空时才进行关闭, 这是一种常用的保护机制。
作者: 突然世界晴    时间: 2015-3-12 23:12
羽飞翔 发表于 2015-3-12 20:13
当bufr不是空时才进行关闭, 这是一种常用的保护机制。

?为什么可以判断对象对空
作者: android-liu    时间: 2015-3-12 23:20
!=是判断引用变量是否有指向堆内存
作者: 小十    时间: 2015-3-12 23:33
都为空了你还关什么。所以判断一下不为空才关呀!
作者: 女神从来不加班    时间: 2015-3-12 23:40
对象为null时调用方法是会报错的
作者: Rorine    时间: 2015-3-12 23:52
这里的原意是前面有调用bufr.close();方法的吧,但是没有调用成功或者没有关闭成功,在finally这就可以先判断一下它是否为空,不为空就关闭它,免得浪费资源。
作者: Zoe-    时间: 2015-3-13 00:13
!=你没有学过吗?就是判断它是否为空罢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2