泛型是JDK1.5以后增加的,它可以帮助我们建立类型安全的集合。在使用了泛型的集合中,遍历时不必进行强制类型转换。JDK提供了支持泛型的编译器,将运行时的类型检查提前到了编译时执行,提高了代码可读性和安全性。 泛型的本质就是“数据类型的参数化”。 我们可以把“泛型”理解为数据类型的一个占位符(形式参 ...
分类:
编程语言 时间:
2019-04-04 21:53:25
阅读次数:
188
Flow入门初识 Flow是facebook出品的JavaScript静态类型检查工具。 由于JavaScript是动态类型语言,它的灵活性也会造成一些代码隐患,使用Flow可以在编译期尽早发现由类型错误引起的bug,这种方式非常有利于大型项目源码的开发和维护。 一、 Flow的安装 创建一个项目文 ...
分类:
其他好文 时间:
2019-03-31 18:07:49
阅读次数:
219
C++内联函数、宏定义和普通函数的区别? 宏定义:在预处理阶段进行简单的文本替换,不会进行参数类型检查; 内联函数:在编译器的时候进行代码插入,编译器会在每次调用内联函数的地方直接将内联函数的内容展开,这样可以省去函数压栈和出站的开销提高效率。会进行参数 类型检查; 普通函数:在函数调用时,跳转到函 ...
分类:
编程语言 时间:
2019-03-17 23:00:23
阅读次数:
193
不多说 直接上代码,泛型在编译期提供类型检查,如果不符合泛型的定义的类,那么在编译期会报错. 比如put()方法. 但是key 是String 类型,按理说参数传入Date()类型 get()方法应该会报错,但是没有,只是抛出警告,原因是 泛型是在 jdk 1.5 以后才引入的设计,在此之前是没有泛 ...
分类:
编程语言 时间:
2019-02-24 00:18:02
阅读次数:
225
const 被修饰常量不可改值(只读);有类型检查;通常保存在符号表中,不分配内存;效率高; 与#define的区别:宏只是机械替换,不做类型检查;使用多少次(赋值),就查找多少次内存,效率低;const可以修饰指针,宏不可以;const可以控制在函数内部值不可变。 extern 置于变量或者函数前 ...
分类:
编程语言 时间:
2019-02-14 22:19:04
阅读次数:
206
内联函数与宏区别 需要在函数前加上关键字inline,但inline是建议性关键字,当请求将函数作为内联函数时,编译器并不一定会满足这种要求。内联函数尽量避免函数体过长、含有循环、递归。 内联函数的优势在于做参数类型检查,而宏定义不会,宏只是简单的文本替换。 1、宏不能访问对象的私有成员。2、宏的定 ...
分类:
编程语言 时间:
2019-02-11 13:01:50
阅读次数:
194
动态语言和静态语言通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。 (1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和R ...
分类:
编程语言 时间:
2019-02-09 10:21:45
阅读次数:
180
dynamic 类型的作用是绕过编译时类型检查,改为在运行时进行解析。 dynamic 类型简化了对 COM API(例如 Office Automation API)、动态 API(例如 IronPython 库)和 HTML 文档对象模型 (DOM) 的访问。 在大多数情况下,dynamic 类 ...
基本数据类型 数值型 整数 int 64位操作系统默认为int64,32位操作系统为int32,但是类型检查时时int int8 (byte 1字节) int16 (short 2字节) int32 (int 4字节) int64 (long 8字节) uint uint8 uint16 uint3 ...
分类:
其他好文 时间:
2019-01-31 18:17:02
阅读次数:
239
Vue.component('my-component', { props: { // 基础的类型检查 (`null` 匹配任何类型) propA: Number, // 多个可能的类型 propB: [String, Number], // 必填的字符串 propC: { type: String ...
分类:
其他好文 时间:
2019-01-28 15:08:48
阅读次数:
220