String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要地, String 类型和 StringBuffer 类型的主要性能差别事实上在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候事实上都等...
分类:
其他好文 时间:
2015-06-08 16:36:07
阅读次数:
101
不可变集合 NSSet:集合元素无顺序,没有索引号,元素不可重复。NSSet在功能上可看做是NSArray的父集,它是一个更通用的类。NSSet包含如下常用方法:setByAddingObject:setByAddingObjectFromArray:setByAddingObjectFromSet...
分类:
其他好文 时间:
2015-06-08 14:51:29
阅读次数:
80
首先要明白,java只用的wrapper类型都是不可变的,什么是不可变类型呢?顾名思义,就是这种类型的对象一旦创建好之后,无论调用何种方法都无法改变该对象的任何的属性。String 源码中,它的所有属性都是private final的,因此,只有在构造string对象的时候,这些属性才是可以修改的,string类的方法中需要返回一个string的,如subString,concat等方法,都会先构...
分类:
编程语言 时间:
2015-06-08 13:29:38
阅读次数:
240
字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示。从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变字符串,即String初始化之后不可更改。 估计到这就有人问了,字符串不是都可以改的吗?下面两...
分类:
编程语言 时间:
2015-06-06 23:22:37
阅读次数:
204
java学习有一段时间了,但学习的东西都是框架等东西,java基础知识有点遗忘,所以重温一下java基础知识,写写文章里面有错的希望大家指正共同进步~~
一、String
大家经常会说使用“+”号连接String 字符串比StringBuffer慢,String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,那接下来我们详细分析一下为什么使用“+”号速度会慢,为什么String 对象是不可变对象:
1、final修饰类、引用变量、基本变量...
分类:
其他好文 时间:
2015-06-06 12:04:31
阅读次数:
100
问题的引入: java中只有值传递,没有引用传递,这里有两种情况,一种是传对象,一种是传基础类型,传对象其实是传对象的引用, http://guhanjie.iteye.com/blog/1683637这篇文章描述了一些情况: 基础类型传递的时候,直接把内存里面真正的值传递过去,而在对象传递的...
分类:
其他好文 时间:
2015-06-06 11:59:11
阅读次数:
110
1 //oc允许使用c语言的数组,但是很多时候会用NSArray这个数组的类创建对象 2 //NSArray是不可变数组,它有个子类NSMutableArray可变数组 3 4 //1.创建数组 5 //这是一个数组的对象,数组的元素是“one two three” 6 ...
分类:
编程语言 时间:
2015-06-05 20:58:24
阅读次数:
165
对象不可变定义
不可变对象是指对象的状态在被初始化以后,在整个对象的生命周期内,不可改变。
如何不可变
通常情况下,在java中通过以下步骤实现不可变
对于属性不提供设值方法
所有的属性定义为private final
类声明为final不允许继承
Return deep cloned objects with copied content for all mutable fields in...
分类:
其他好文 时间:
2015-06-05 19:49:34
阅读次数:
116
数据结构:列表的元素可变,用[] or list()创建。元祖的元素不可变,用() or tuple()创建。集合的元素不可重复,用{} or set()创建。字典的存放K-V,用dict() or {} 创建。del: 按照索引 删除数据结构元素 or 变量====================...
分类:
编程语言 时间:
2015-06-05 06:10:48
阅读次数:
157