思路:深度比较两个对象,就是要深度比较对象的每一个元素。=> 递归 递归退出条件: 被比较的是两个值类型变量,直接用“ ”判断 被比较的两个变量之一为null,直接判断另一个元素是否也为null 提前结束递推: 两个变量keys数量不同 传入的两个参数是同一个变量 递推工作: 深度比较每一个key ...
分类:
Web程序 时间:
2020-06-27 09:57:49
阅读次数:
133
一、值类型 VS 引用类型 值类型 引用类型 值直接存储在栈中 值存储在堆中,再将堆的地址存到栈中 number, string, boolean, undefined, symbol object, array, null 变量之间赋值 a = b,是指直接将栈中变量a的值复制到变量b的栈空间里面 ...
分类:
编程语言 时间:
2020-06-27 09:49:29
阅读次数:
62
1.构造器引用格式:类名::new 2.构造器引用使用要求:和方法引用类似,函数式接口的抽象方法的形参列表和构造器的形参列表一致。抽象方法的返回值类型即为构造器所属的类的类型 3.构造器引用举例: //Supplier中的T get() //Employee的空参构造器:Employee() @Te ...
分类:
编程语言 时间:
2020-06-27 00:27:45
阅读次数:
63
一、类型的转换 在c#中类型的转换分两种:显式和隐式,基本的规则如下: 基类对象转化为子类对象,必须显式转换,规则:(类型名) 对象。 值类型和引用类型的转换采用装箱(boxing)或拆箱(unboxing). 子类转化为基类对象。 基本类型互相之间转化可以用Covent类来实现。 字符串类型转换为 ...
一、第六章内容小结 本章内容思维导图 1. 邻接矩阵储存 1 #define MVNum 100 //最大顶点数 2 typedef char VerTexType;//假设顶点的数据类型为字符型 3 typedef int ArcType;//假设边的权值类型为整型 4 5 typedef str ...
分类:
其他好文 时间:
2020-06-26 16:49:04
阅读次数:
61
重载和重写 重写: 子类重写父类的方法 方法名相同、方法参数相同 返回值类型相同,或者子类方法的返回值类型是父类方法返回值的子类 访问修饰符相同,或者子类方法访问修饰符范围大于父类 抛出的异常相同,或者子类方法抛出的异常小于父类 重载: 发生在同一个类中 方法名相同 方法参数不同(个数不同、类型不同 ...
分类:
其他好文 时间:
2020-06-26 14:38:09
阅读次数:
47
null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s=""; string.trim()就不会抛,为什么? 答: NULL代表声明了一个空对象,根本就不是一个字符串。 ""代表声明了一个对象实 ...
分类:
编程语言 时间:
2020-06-26 13:05:53
阅读次数:
76
1、浅拷贝就是值的复制。对象因为是引用类型,所以它的值就是一个指针。当改变其中一个的时候,另一个也会改变。如下obj把它的指针复制给obj1 ,所以这两个对象指向同一个内存地址。当改变obj1的a属性后,obj的属性a也会发生变化。这就是浅拷贝。 let obj1 = {a:1}; let obj2 ...
分类:
其他好文 时间:
2020-06-26 01:26:14
阅读次数:
59
TypeScript 包含的数据类型如下表:Any 类型任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。1、变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些变量跳过编译阶段的类型检查,示例代码如下:let x: any = 1; //... ...
分类:
其他好文 时间:
2020-06-25 23:37:02
阅读次数:
59
重载就是在一个类中,有相同的函数名称,但形参不同的函数。 方法的重载的规则: 方法名称必须相同 参数列表必须不同(个数不同。或类型不同。参数排列顺序不同等) 方法的返回值类型可以相同也可以不同。 仅仅返回值类型不同不足以成为方法重构。 实现理论: 方法名称相同时,编译器会根据调用方法的参数个数、参数 ...
分类:
编程语言 时间:
2020-06-25 23:25:56
阅读次数:
67