PDF 课件和源代码下载地址:
https://gitee.com/geektime-geekbang/LetsJava
作者回复: 承包了用来养鱼还是种地?
作者回复: 嗯呐
作者回复: 没那么复杂,比如Integer来说,它和String是一样的,值是不可变的。所以用它做key是可以的。 这个和引用以及引用指向的对象是否可以变是另一个问题,那个是final的用法。
作者回复: “我只是一个指定了泛型和一个没指定泛型而已, 而且以上引用存储的都是堆中引用的地址, 为什么就不能顺藤摸瓜得到对应的数据, 而是直接给出了编译错误?” 泛型想要解决问题就是避免运行时错误,在编译期就解决可能的类型不匹配问题。至于你说的顺藤摸瓜,那只是针对当前的例子是可以的,但是可以有更复杂的例子,让编译器无法知道具体在运行时这个引用指向的到底是什么类型的对象。泛型在这时候就会报错。具体规则可以参考视频内容,如果想挖得更深,可以参考一下我写的FAQ https://xie.infoq.cn/article/fe1b6695165e1df18e91e9901 https://xie.infoq.cn/article/2b74611c9d2f1750778ad1458 你的第二个问题也在FAQ里有解释😄
作者回复: 慢点看,可以多写写画画,几分几秒看的迷糊了欢迎提问。