谁能给我翻译翻译到底什么是 tm 的泛型?! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ashamp
V2EX    问与答

谁能给我翻译翻译到底什么是 tm 的泛型?!

  •  
  •   ashamp 2015-07-04 20:07:10 +08:00 3168 次点击
    这是一个创建于 373 天前的主题,其中的信息可能已经有所发展或是发生改变。
    太抽象的翻译了~
    101
        1
    101  
       2015-07-04 20:17:59 +08:00
    又是个跳入 Java 深坑的孩子,翻译不是很贴切就仿实例写代码就理解了
    acros
        2
    acros  
       2015-07-04 20:19:32 +08:00
    这个翻译不是挺贴切的吗?是说的Generic吧?
    otakustay
        3
    otakustay  
       2015-07-04 20:33:19 +08:00
    一个类可**泛**用于任何(也可以有限制)类**型**,具体使用的类型编译/运行时再确定
    crayygy
        4
    crayygy  
       2015-07-04 20:36:25 +08:00   1
    让我想起一个翻译:鲁棒性
    wwqgtxx
        5
    wwqgtxx  
       2015-07-04 21:33:51 +08:00 via Android
    @101 c#的泛型同样坑,到你实现一个IEnumable<T>接口的类就知道有多麻烦了
    IEnumable<T>继承自不带泛型的IEnumable
    所以你要实现一个带泛型一个不带泛型的同名方法,这两个方法还tmd的返回值一个是<T>一个是object,所以还不能直接重载…………
    总之都是泪呀,还不如Java的泛型,好用的多
    mahone3297
        6
    mahone3297  
       2015-07-04 21:48:08 +08:00
    和具体化,相对应的,就是泛化。。。
    mouhong
        7
    mouhong  
       2015-07-04 21:51:06 +08:00
    @wwqgtxx 不能直接重载是啥意思?
    Septembers
        8
    Septembers  
       2015-07-04 22:00:00 +08:00 via Android
    @mouhong 方法签名不匹配
    wwqgtxx
        9
    wwqgtxx  
       2015-07-04 22:38:39 +08:00 via Android
    @mouhong 你试试能不能这样重载?
    public String get() {return "x";}
    public int get(){return 0}
    mouhong
        10
    mouhong  
       2015-07-04 23:20:43 +08:00
    @wwqgtxx 你的两个 get 返回值不一样,C# 中返回值不是方法签名的一部分,不过为什么是这样,我也不是很清楚,貌似官方的说法是这会使 overload resolution 变得复杂 (就先当他们懒吧T_T)。但实现 IEnumerable<T> 接口你指的应该是返回类型的协变性吧,这个在 C# 中也不支持,究其原因,大概也是因为懒,一种权衡吧,嘿嘿,详情:

    http://stackoverflow.com/questions/7996127/the-return-type-of-the-members-on-an-interface-implementation-must-match-exactly/7996843#7996843

    http://stackoverflow.com/questions/5709034/does-c-sharp-support-return-type-covariance
    dallaslu
        11
    dallaslu  
       2015-07-05 00:05:18 +08:00   1
    「型」指的是类型,比如参数类型、返回值类型。那么「泛」应该怎么解释呢?

    域名解析有一个方式叫「泛域名解析」,意思是说所有符合 *.example.com 的子域名比如 v2ex-demo.example.com 都可以根据这条规则解析到同一个 IP 上。好处很明显,当有一天你要在这个服务器上加一个站点 java-ashmp.example.com 时,就不用再修改解析规则了。

    回到 Java,「泛型」的好处也很明显,当你在程序的「运行时」需要动态指定类中方法的参数或返回值类型时,直接在调用者代码里写就行了而不用再修改那个支持泛型的类了。
    Smilecc
        12
    Smilecc  
       2015-07-05 09:02:30 +08:00
    我一直觉得这翻译挺好的啊。。
    tanywei
        13
    tanywei  
       2015-07-05 10:52:58 +08:00
    还是喜欢python的数据结构
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2258 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 16:05 PVG 00:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86