一 容器类:请取出同一类型的物品 1 不使用泛型 2 不恰当泛型 补救方案:先进行类型判断 3 正确使用泛型 4 总结 没有泛型时,不能依赖编译器的语法检查,由于List 等同于 List<Object>。 泛型能够给编译器提供类型检查。 父类容器虽然可以放入子类,但取出来尽量不要还原回 ...
分类:
其他好文 时间:
2018-10-09 21:39:52
阅读次数:
179
inspect模块提供了一些有用的函数来帮助获取有关活动对象(如模块,类,方法,函数,跟踪,框架对象和代码对象)的信息。例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或获取显示详细追溯所需的所有信息。 这个模块提供了四种主要的服务: 类型检查, 获取源代码, 检查类和 ...
分类:
其他好文 时间:
2018-09-30 12:48:01
阅读次数:
214
由于Java是静态类型的语言,所以在编译阶段,所有的变量都能得出确定的类型。 1、类型循环继承、循环引用 Java是单继承的,也就是说Java只能继承一个实现类。但是在继承过程中可能会形成循环,接口也是。 2、表达式的类型检查 ...
分类:
其他好文 时间:
2018-09-29 11:20:58
阅读次数:
152
1 注意区分 Ty_xxx 和 a_ 的区别 A 开头是对应的是原程序中的一个实体 Ty _ 开头则是类型检查中的一个抽象类 代表了一类实体 比如 A_recordTy 是原程序中的 type per {name:string , age:int} Ty_record 则是一种类型的抽象 是 Ty_ ...
分类:
其他好文 时间:
2018-09-24 13:53:17
阅读次数:
231
弱类型和强类型的简单理解 强类型、弱类型是指类型检查的严格程度的。无论哪种语言,对于变量而言,都存在“类型”和“值”两个概念。对于强类型语言,要求所有的变量必须先定义(定义时必须声明数据类型)后使用,并且指定类型的变量只能接受类型与之匹配的值。如Java的变量定义和使用语句为: 这意味着每个变量和每 ...
分类:
其他好文 时间:
2018-09-24 13:43:10
阅读次数:
389
什么是动态类型语言[1]?动态类型语言的关键特征是它的类型检查的主体过程是在运行期而不是编译期,满足这个特征的语言有很多,常用的包括:JavaScript、Jython、PHP、Python、 Ruby等。相对的,在编译期就进行类型检查过程的语言(如C++和Java等)就是最常用的静态类型语言。 静... ...
分类:
编程语言 时间:
2018-09-23 00:47:41
阅读次数:
204
前情回顾 上一节, 我简单的说了一下反射的基本概念以及运行时反射的用法, 同时简单的介绍了一下编译原理知识, 其中我感觉最为 的地方, 就属泛型的几种使用方式了. 而最抽象的概念, 就是对于符号和抽象树的这两个概念的理解. 现在回顾一下泛型的几种进阶用法: 上界 : 视界 <% 边界 : 协变 +T ...
分类:
其他好文 时间:
2018-09-17 14:05:43
阅读次数:
532
Flow 是 facebook 出品的 JavaScript 静态类型检查工具。Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码。 flow的工作方式? 通常类型检查分成 2 种方式: 安装flow npm install -g flow-bin flo ...
分类:
其他好文 时间:
2018-09-17 11:47:56
阅读次数:
133
Java集合框架 集合的引入:数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。泛型:泛型是JDK1.5以后增加的,它可以帮助我们建立类型安全的集合。在使用了泛型的集合中,遍 ...
分类:
编程语言 时间:
2018-09-14 22:57:43
阅读次数:
264
sysfs - 用于导出内核对象的文件系统。 1.sysfs是一个基于ram的文件系统,最初基于ramfs。 它提供了一种方法,可以将内核数据结构,它们的属性以及它们之间的链接导出到用户空间。sysfs本质上与kobject基础结构相关联。有关kobject接口的更多信息,请阅读Documentat ...
分类:
其他好文 时间:
2018-09-09 00:44:10
阅读次数:
160