V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
guyeuro
V2EX  ›  问与答

Java 中用 final 修饰方法形参只是固定了其引用,有能让其引用的对象内容不变的手法吗?

  •  
  •   guyeuro · 2017-06-29 12:59:14 +08:00 · 1228 次点击
    这是一个创建于 2527 天前的主题,其中的信息可能已经有所发展或是发生改变。

    void func(final List<integer> a)

    这里只是让 a 指向的地址不变,但是 a 指向的列表内容是可以变的 有何方法可以让其内容也不可变?

    5 条回复    2017-06-30 09:26:14 +08:00
    EXE
        1
    EXE  
       2017-06-29 13:27:00 +08:00
    ImmutableList
    guyeuro
        2
    guyeuro  
    OP
       2017-06-29 13:28:08 +08:00
    @EXE 你这个只针对 list 啊,没有通用的方式了吗?
    mazyi
        3
    mazyi  
       2017-06-29 13:59:56 +08:00 via iPhone
    Java 并发编程实战欢迎你。
    SoloCompany
        4
    SoloCompany  
       2017-06-29 22:15:37 +08:00 via iPhone
    https://blog.jetbrains.com/kotlin/2017/06/kotlin-future-features-survey-results/

    kotlin 最受欢迎的语言特性之一
    Truly immutable data #18

    但这是一个几乎不可能实现的特性
    srlp
        5
    srlp  
       2017-06-30 09:26:14 +08:00 via iPhone
    没有通用的方式。找个 class 封装掉修改接口呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5479 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:57 · PVG 09:57 · LAX 18:57 · JFK 21:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.