JAVA从入门到精通(13)– 字符串

一、字符串

1》在Java中,字符串被作为String类型的对象处理。String 类位于java.lang包中。默认情况下,该包被自动导入所有的程序。

2》创建String对象的方法

String  s1  =  "imooc" ;

String  s2  =  new  String() ;

String  s3  =   new  String("imooc") ;

二、字符串的不变性

String对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。

注:1》每次new一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用“ ==”比较时也为false,如果只需比较内容是否相同,应使用“equals()”方法。

2》一旦一个字符串在内存中创建,则这个字符串将不可改变,如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder。

三、String类的常用方法

1》常用方法

:1》字符串str中字符的索引从0开始,范围为0到str.length()-1

2》使用indexOf进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回-1

3》使用substring(beginindex,endindex)进行字符串截取时,包括beginindex位置的字符,不包括endindex位置的字符

4》“==” 和 equals() 区别?

== :是判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

equals(): 比较存储在两个字符串对象中的内容是否一致

PS:   字节是计算机存储信息的基本单位,1个字节等于8位,gbk编码中一个汉字字符存储需要2个字节,1个英文字符存储需要1个字节。同时,汉字对应的字节值为负数,原因在于每个字节是8位,最大值不能超过127,而汉字转换字节后超过127,如果超过就会溢出,以负数的形式显示。

四、StringBuilder类

1》Java中,除了可以使用String类来存储字符串,还可以使用StringBuilder类或StringBuffer类存储字符串。

2》程序运行时会额外创建一个对象,当频繁操作字符串时,就会额外产生很多临时变量,使用StringBuilder类或StringBuffer类就可以避免这个问题。它们基本相似,不用之处,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑StringBuilder类。

例如:StringBuilder hobby=new StringBuilder("immooo");

3》StringBuilder类提供的方法操作字符串:

创建StringBuilder对象,用来存储字符串,可以对其做追加和插入操作,但这些操作修改了str对象的值,而没有创建新的对象。这就是StringBuilder和String最大的区别。

IT文库 » JAVA从入门到精通(13)– 字符串
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址