Chinaunix首页 | 论坛 | 博客
  • 博客访问: 219547
  • 博文数量: 31
  • 博客积分: 2086
  • 博客等级: 大尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-26 08:46
文章分类

全部博文(31)

文章存档

2011年(4)

2010年(27)

分类: Java

2010-08-03 15:28:42

字符串

中的字符串

3.1.1字符串的基本知识

1.字符串的初始化

1)        使用字面量直接赋值并创建一个字符串

例如:

var str1:String=”Welcome”;

var str2:String=’Welcome’; 

2)        通过关键字new创建

例如:

var str1:String=new String(“Welcome”);

 

3.1.2对字符串的操作

As3.0String对象中包含大量的对字符串操作的方法,如concat()函数可用于字符串的连接,split()函数可以用于字符串的裁剪,等等。

中的字符串

3.2.1字符串的基本知识

1.字符串的初始化

1)   类同于As3.0中的第一种对字符串的初始化方法

如:

String s=”Good person”;

2)   使用new关键字进行初始化

如:

String s=new String(“Good person”);

3.2.2对字符串的操作

java中有3个类来负责字符的操作。

 

1. Character 是进行单个字符操作的。

2. String 对一串字符进行操作,是不可变类。

3. StringBuffer 也是对一串字符进行操作,但是可变类。

 

StringStringBuffer的区别与效率:

1)  String

是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

2)  StringBuffer:

是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立,
    StringBuffer sb = new StringBuffer();
note:
不能通过赋值符号对他进行赋值.
    sb = "welcome to here!";//error
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.StringBuffer
中付值的时候可以通过它的append方法.
   sb.append("hello");

 

3)  StringBufferString效率的比较

字符串连接操作中StringBuffer的效率要比String:

String str = new String("welcome to ");
str += "here";

的处理步骤实际上是通过建立一个StringBuffer,然后调用append(),最后
再将StringBuffer.toSting();

这样的话String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣.

并且由于String 对象是不可变对象,每次操作Sting 都会重新建立新的对象来保存新的值.
这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.  

总结: 如果在程序中需要对字符串进行频繁的修改连接操作的话.使用StringBuffer性能会更高

阅读(2958) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~