Java提供JavaBean作为数据对象的封装, 而对于Scala来说也提供了同样的支持. Scala无需向JavaBean那样显示的声明 getter和setter , 只需将变量声明为var就可以了, getter方法 weight , setter方法为 weight_= ; 同时, 在Jav ...
分类:
其他好文 时间:
2017-02-08 14:25:06
阅读次数:
168
String,StringBuffer,StringBuilder ...
分类:
其他好文 时间:
2017-02-04 11:24:27
阅读次数:
156
str类字符串是不可变对象 1.创建字符串 2.处理字符串的常用函数和操作 (1).函数 len() 返回一个字符串的字符个数 max() 返回字符串中最大的字符 min() 返回字符串中最小的字符 >>>s = "Welcome" >>>len(s) 7 >>>max(s) 'o' >>>min( ...
分类:
编程语言 时间:
2017-01-24 14:45:58
阅读次数:
230
最近对深浅拷贝(复制)做了一些研究,在此将自己的理解写下来,希望对大家有所帮助。本人尚处在摸索阶段,希望各位予以指正。 本文包括如下方向的探索: 1.指针与对象; 2.深/浅拷贝(复制); 3.可变/不可变对象; 4.Objective-C中的copy与mutableCopy方法。 一.指针与对象 ...
分类:
其他好文 时间:
2017-01-16 13:11:10
阅读次数:
296
一、不要使用可变对象作为函数默认值 复制代码代码如下: In [1]: def append_to_list(value, def_list=[]): ...: def_list.append(value) ...: return def_list ...: In [2]: my_list = ap ...
分类:
编程语言 时间:
2017-01-09 23:42:01
阅读次数:
266
设计线程安全类 套路一: 实例限制 假如现在有一个非线程安全类, 让它可以被多线程安全访问, 可以做一层封装. 多线程 只通过 封装类进行访问. 注意事项, 一定要加对锁! 套路二: 返回深拷贝 若一个对象是可变对象, 假如不是太频繁地作为参数或者返回值传递, 可以通过每次在传递时, 构建深拷贝来保 ...
分类:
编程语言 时间:
2017-01-07 22:22:49
阅读次数:
197
函数传递参数时的简要关键点: 1、参数的传递是通过自动将对象赋值给本地变量名来实现的。函数参数在实际中只是Python赋值的一个实例。因为引用是以指针的形式实现的,所有的参数实际上都是通过指针进行传递的。 2、在函数内部的参数名的赋值不会影响调用者。 3、改变函数的可变对象参数的值也许会对调用者有影 ...
分类:
编程语言 时间:
2016-12-27 00:10:55
阅读次数:
213
一、方式一把数组参数当做普通变量传递#!/bin/bashfunctionarrayfun{echo"getfunctionparameter$*"}arraypara=(claireobamageorge)arrayfun$arraypara上面脚最终会显示getfunctionparameterclaire只收到了数组中的第1个参数二、方式二我们改动一下#!/bin/bashfunctionarrayfun{..
分类:
编程语言 时间:
2016-12-24 23:26:24
阅读次数:
466
这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。 hash_map基于hash table(哈希表)。哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比 ...
分类:
其他好文 时间:
2016-12-23 00:50:26
阅读次数:
262
什么是不可变对象? 众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其 ...
分类:
编程语言 时间:
2016-12-22 00:18:06
阅读次数:
169