不变性(Immutability)模式 所谓不变性,简单来讲,就是对象一旦被创建之后,状态就不再发生变化。换句话说,就是变量一旦被赋值,就不允许修改了(没有写操作);没有修改操作,也就是保持了不变性。 一、如何让一个类具有不变性呢 将一个类所有的属性都设置成 final 的,并且只允许存在只读方法, ...
分类:
其他好文 时间:
2020-03-09 00:55:47
阅读次数:
114
本文源码: "GitHub·点这里" || "GitEE·点这里" 一、String类简介 1、基础简介 字符串是一个特殊的数据类型,属于引用类型。String类在Java中使用关键字final修饰,所以这个类是不可以继承扩展和修改它的方法。String类用处极广泛,在对String对象进行初始化时 ...
分类:
编程语言 时间:
2020-03-08 23:16:07
阅读次数:
52
一、Set集合概述 一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。 在所有构造方法以及 add、equals 和 hashCo ...
分类:
其他好文 时间:
2020-03-08 09:39:58
阅读次数:
63
用栈来解决汉诺塔问题 题目 修改汉诺塔问题的游戏规则:限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有N层的时候,打印最优移动和最优移动总步数。 要求: 方法一:递归的方法 方法二:非递归的方法,用栈来模拟汉诺塔的三个塔 思路 方法一:递归的方法 首先 ...
分类:
编程语言 时间:
2020-03-06 17:10:54
阅读次数:
62
lombok是一个IDE插件,也是一个依赖jar包 优点: 大大减少代码量,使代码非常简洁。使开发人员不用去写javabean的getter/setter方法,写构造器、equals等方法,最方便的是你对javabean的属性增删改。 缺点: 对队友不友好,需要添加依赖和IDE插件,侵入性很高。 对 ...
分类:
编程语言 时间:
2020-03-06 15:49:06
阅读次数:
84
今天谈的是工厂模式,该模式用于封装和对对象的创建,万物皆对象,那么万物又是产品类,如一个水果厂生产三种水果罐头,我们就可以将这三种水果作为产品类,再定义一个接口用来设定对水果罐头的生成方法,在工厂类中定义一个方法可以根据我们提供给工厂的不同参数,来生成不同的产品。这样我们就可以方便后续的扩展,例如工 ...
分类:
编程语言 时间:
2020-03-06 15:10:52
阅读次数:
71
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.No... ...
分类:
其他好文 时间:
2020-03-03 14:34:22
阅读次数:
94
1、== (1)基本数据类型:比较的是值是否相等 int a=1; int b=1; System.out.println(a==b); 返回true。 (2)引用数据类型,比较的是是否为同一对象: Student student1=new Student("201911","zhai"); Stu ...
分类:
其他好文 时间:
2020-03-02 23:00:32
阅读次数:
67
HashMap中的equals()和hashCode()
分类:
其他好文 时间:
2020-03-02 22:30:13
阅读次数:
52
无论上层语言类型多么复杂,在.NET平台上,都逃不过CTS的约束,今天,我想说的不是CTS,而是上层语言C#类型的一点研究。 请看一下下面的这个代码段: 1 public struct test 2 { 3 public override bool Equals(object obj) 4 { 5 ...