Resource leak: 'sc' is never closed

Resource leak: 'sc' is never closed

Resource leak: 'sc' is never closed


http://img1.sycdn.imooc.com//climg/604a1d5509ad718015260727.jpg

老师,我调用scanner,提示没有关闭,我在程序最后面加上close就回报错,那么close应该在什么位置使用呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2021-03-12 10:47:24

同学你好,Scanner对象不关闭也是不会影响程序的运行的,所以一般Scanner对象不用关闭,如果实在要关闭一般在程序最后进行关闭

同学可以将代码定位到报错提示位置处,看看是否在关闭Scanner对象后还继续使用了

http://img1.sycdn.imooc.com//climg/604ad5d3093fc04b06590191.jpg

如果没有解决问题,建议同学将代码以复制粘贴的形式反馈到问答区

祝学习愉快~

  • 提问者 多敲多学多想 #1

    不关闭,不会占用内存吗。

    老师的意思scanner关闭之后我是否又调用了scanner吗?

    2021-03-12 10:59:40
  • 同学你好

    1、从api文档的解释,如果此扫描器尚未关闭,并且其底层 readable 也实现 Closeable 接口,则该 readable 的 close 方法将被调用。如果此扫描器已经关闭,则调用此方法无效。也就是说当未关闭时,底层也会调用close方法;所以当程序关闭后Scanner对象不会再占用内存

    并且Scanner关掉之后这个对象就销毁了,不能再打开,再次使用时就会抛出异常

    所以一般是不关闭Scanner对象的。

    2、是的,可能是同学关闭了Scanner后又继续调用了,所以出现了异常

    祝学习愉快~

    2021-03-12 13:41:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师