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

一看到 Java 自限定泛型,就感觉似懂非懂,从概念上能理解了,但是一看到具体的应用,总感觉脑子不好使

  •  
  •   wuyiccc · 11 小时 49 分钟前 · 414 次点击
    一看到 Java 自限定泛型,就感觉似懂非懂,从概念上能理解了,但是一看到具体的应用,总感觉脑子不好使
    简简单单的一行代码,感觉脑子形成不了直观的印象

    public interface Constant<T extends Constant<T>>
    5 条回复    2024-12-22 04:13:04 +08:00
    kongkongye
        1
    kongkongye  
       11 小时 44 分钟前 via iPhone
    大脑打结
    agagega
        2
    agagega  
       11 小时 40 分钟前 via iPhone   ❤️ 1
    不懂 Java ,这个是类似 C++的 CRTP 吗?就是 B 继承自 A<B>,这样来复用 A 里的实现(依赖 B 的某些方法)
    wuyiccc
        3
    wuyiccc  
    OP
       11 小时 31 分钟前
    @agagega 好像是这个意思
    fgwmlhdkkkw
        4
    fgwmlhdkkkw  
       11 小时 29 分钟前
    你要求你的朋友要有和你一样的品位。
    billccn
        5
    billccn  
       6 小时 42 分钟前 via Android   ❤️ 1
    在 Java 里面这么写最常见的是用来模拟一个 Self 类型。比如说你要在这个接口里做一个 chainable 方法(就是 return this 的方法),它的默认返回类型是接口本身,那实现类型就丢失了,后面就不好 chain 了。这个写法就是提示你把 T 设置成为实现的类型,这样就可以返回 T 这个类型。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2496 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 02:55 · PVG 10:55 · LAX 18:55 · JFK 21:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.