黑马程序员:Java编程_String

时间:2022-01-12 00:25:45

=========== ASP.Net+Android+IOS开发、.Net培训、期待与您交流!===========

  描述字符串对象的类是java.lang.String,String类是不可变(final)的,即对String类的任何改变都是返回一个新的String类对象,这样的话把String类的引用传递给一个方法,该方法对String的任何改变对原引用指向的对象没有任何影响。从本质上认识String类,通过String类的源码中可以看到:

  1. String类是final的,不可被继承。public final class String;

  2. String类是的本质是字符数组char[], 并且其值不可改变。Private final char value[];

  3. String类对象有个特殊的创建的方式,就是直接指定比如String s = "abc","abc"就表示一个字符串对象。而s是"abc"对象的地址,也叫做"abc"对象的引用;

  4. String对象可以通过“+”串联,串联后会生成新的字符串,也可以通过concat()来串联;

  5. Java运行时会维护一个String Pool(String池),String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。当使用任何方式来创建一个字符串对象s时,Java运行时(运行中JVM)会拿着这个s在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串s,否则,不在池中添加。只要使用new关键字来创建对象,则一定会在堆区创建一个新的对象。

1.String类的构造方法:

new String(byte[] bytes)将字节数组变成字符串

new String(byte[] bytes, int offset, int length)将字节数组变成字符串,一部分

new String(char[] value)将字符数组变成字符串

new String(char[] value, int offset, int count)将字符数组变成字符串,一部分

2.String类的常用功能

a.判断功能:
equals(字符串)比较字符串是否全等,区别大小写,全等返回true    
contains(字符串)一个字符串是否包含另一个字符串,全包含返回true    
startsWith(字符串)一个字符串是否以另一个字符串开头    
endsWith(字符串)一个字符串是否以另一个字符串结尾    
isEmpty() 判断一个字符串的长度是否是0,是0就返回真
b.获取功能:
charAt(int index)返回这个索引上的单个字符    
indexOf(字符串)获取指定的字符串出现的位置,第一次出现的    
indexOf(字符串,索引)获取指定的字符串出现的位置,第一次出现的    
length()返回字符串的长度    
lastIndexOf(字符串)获取指定的字符串出现的位置,反向查找
c.转换功能:
toUpperCase()字符串全部转成大写,返回新的字符串    
toLowerCase()字符串全部转成小写    
toCharArray()将字符串转成字符数组    
getBytes() 将字节数组转成字符串
d.其他功能:
split(字符串)切割字符串,返回一个字符串数组    
substring(索引,索引)截取字符串一部分,返回新的字符串    
replace(老串,新串)替换字符    
trim()去掉字符串两端的空格

-----------☆-----------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! -----------☆-----------

详细请查看: http://edu.csdn.net