zoukankan      html  css  js  c++  java
  • 定义高级

    Java 存在类型擦除机制.

    故运行时难以确定泛型参数(我当然知道可以确定只是成本高).

    有各种魔法方式尝试从List<A>中取出一个obj并防御式的判断下 obj instanceof A.

    这是我很不喜欢的一个特性,我看不出好处在哪里.

    然后读了一些文章.他们发明了一些词汇 List<Integer> 转List<Number>叫协变(起这个名字有什么依据吗).

    List<*>叫 星投影(看着好像List<?>).

    虽然这样也是,怎么说吧,还可以吧.(以上两个是kotlin)

    但是它没有解决我的问题啊.

    我的问题是我的一个定义无法在语法上严格限定类型,而需要使用.getClass这种技巧.

    协变对我有帮助吗,星投影对我有帮助吗.

    好多特性的确是在创造更多的名,求得个别场景下貌似的进步.

    这些名代价太大了,然后我们管这东西叫高级用法.

    我是支持Stream的,因为它是个通用概念,Java中的Stream和其他语言的Stream是一样的.

    然而我从来不会使用<?>

    它太贵了 还是<T>好用

  • 相关阅读:
    寒假 学习进度七
    寒假学习进度
    寒假学习进度五
    寒假学习进度四
    寒假学习进度三
    寒假学习进度二
    Spark实验五
    半篇论文笔记
    REPL
    Scala基本语法及操作、程序控制结构
  • 原文地址:https://www.cnblogs.com/user-for-once/p/13188047.html
Copyright © 2011-2022 走看看