![](https://img-blog.csdnimg.cn/20210504170924372.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
语言相关
一个纯洁无瑕的萌新随便乱记的语言知识,不理解、不准确、不用看、不更新
baldr_4396
这个作者很懒,什么都没留下…
展开
-
更改集合元素或map键后找不到元素——内存泄漏
HashSet是根据元素的hash值来查找的,HashMap也是根据key的hash来查找的。如果先添加了元素,然后又在外面单独对元素做修改,很可能导致再次查找时找不到,因为这个元素的hash值已经被修改了。这并不是出现在所有的数据类型中,只会出现在那些根据自身值或属性计算hash值,而修改时又恰好是修改这些的。下面做个测试, System.out.println("----int----"); int a = 2; Set<Integer> set = n原创 2021-08-30 11:39:08 · 198 阅读 · 0 评论 -
lua的string.find、match、gmatch、sub、gsub
原创 2021-08-05 10:51:23 · 846 阅读 · 0 评论 -
Java的几种设计模式原则
Java设计模式原则一.单一职责原则一个类只要负责一个职责,不要在设计中使用一个带有很多功能的类。当一个类能做到很多事情,我们应该把他拆开。很多人为了高聚合把很多无关的事情交给一个类做,这让以后程序的功能很难修改与扩展。这个很容易理解,提高类的可读性,并且降低类的复杂度,降低变更的风险。二.接口隔离原则客户端不应该依赖不需要的接口,如果一个实现类只需要接口的部分功能请把接口分开。这也是不给客户端提供不需要的方法,不增加冗余代码。三.依赖倒置原则高层不应该依赖底层的细节,而应该依赖接口或者其原创 2020-07-11 18:07:15 · 122 阅读 · 0 评论 -
java的整型与字符串型数组与集合类之间的转换
数组与List、Set这些集合类之间的转换。对于字符串类型来说方法比较多,数组转列表:List list2 = Arrays.asList(array2);ArrayList<String> list2 = new ArrayList<String>(Arrays.asList(array2)) ;ArrayList< String> list2 = new ArrayList<String>();Collections.addAll(lis原创 2021-03-18 17:19:34 · 272 阅读 · 0 评论 -
随记——C++成员初始化
初学C++,各种成员看的晕头转向,在这里临时记录总结一下它们的初始化。4种成员类型:普通变量、普通常量、静态变量、静态常量。所有都要在类里声明;静态常量整型可以在类里直接赋值初始化(=定义);静态变量、静态常量 在外面赋值初始化;普通变量既可以用构造函数初始化列表,也可以在函数体内部赋值;普通常量只能用构造函数初始化列表//Test.h文件class Test{private : int bian; //普通变量 const int chang ; //常量 st原创 2021-03-13 15:36:43 · 89 阅读 · 0 评论 -
Java——equals方法与hashcode
一.等价性抽象函数AF:内部表示->抽象表示的映射。我们可以基于抽象函数AF定义ADT的等价操作。等价性是我们定义的自反,对称,传递关系。判断对象是否相等。二.不可变类型的等价性我们可以利用AF,若AF映射到的抽象值相等,那么我们就认为对象相等。如果observer函数所提供的值相等那么也能判定相等。不论哪种方式,我们都可以看出。等价和ADT内部实现无关都是在观察角度说明的等价性。三.equals()与==为引用等价性:判定两个引用是否指向同一个对象。而equals()为对象等价性:判定两个原创 2020-07-11 18:04:51 · 101 阅读 · 0 评论