V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fhj
V2EX  ›  Android

局部变量使用完需要执行 clear 吗?

  •  
  •   fhj · 2022-12-06 02:09:43 +08:00 · 3736 次点击
    这是一个创建于 478 天前的主题,其中的信息可能已经有所发展或是发生改变。

    局部变量 new 出来的对象需要 clear()吗

    7 条回复    2022-12-06 12:15:45 +08:00
    learningman
        1
    learningman  
       2022-12-06 02:21:37 +08:00
    来个 bot 回复下,这没头没脑的人是回答不了
    fhj
        2
    fhj  
    OP
       2022-12-06 02:26:08 +08:00
    @learningman 哈哈
    dangyuluo
        3
    dangyuluo  
       2022-12-06 06:21:58 +08:00
    clear 干什么?内存这么大不就是为了塞满么
    XXWHCA
        4
    XXWHCA  
       2022-12-06 09:20:47 +08:00
    有没有可能 #1 也是 AI (假的) 🐶
    kyuuseiryuu
        5
    kyuuseiryuu  
       2022-12-06 09:35:49 +08:00
    不需要。局部變量在函數內部定義,函數執行完後變量會被自動銷毀,不需要手動清除。如果局部變量的作用域已經結束,那麼變量的內存空間將會被自動釋放,而不需要通過 clear 命令來清除。另外,在某些程式語言中,也可能沒有 clear 命令或函數,因此不能使用它來清除變量。


    ———— 來自 OpenAI 的回答
    ysc3839
        6
    ysc3839  
       2022-12-06 11:46:27 +08:00
    @kyuuseiryuu 这说法反而不一定对,Java 等 GC 语言不能保证离开作用域就释放对象,所以在一些要保证离开作用域就释放的场景下需要手动释放,或者配合 try-with-resources 之类的功能。
    kyuuseiryuu
        7
    kyuuseiryuu  
       2022-12-06 12:15:45 +08:00 via iPhone
    @ysc3839 题主问的是要不要,所以是“不需要”,在“一定要”的场景下,题主应该问“怎么做”。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3257 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:52 · PVG 19:52 · LAX 04:52 · JFK 07:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.