使用:字符串变量.方法名
1.小写转大写
仅对字母有效,返回值为字符串
2.大写转小写(To.Lower)
3.比较字符串
两个字符串相同则返回true,不同则返回false
4.分割字符串
返回值是一个字符串数组,用来存放被分割后的多个字符串
Split(用于分割的字符数组)
5.截取字符串
字符串变量.Substring(开始截取的位置)(位置是从0开始计数)
字符串变量.Substring(开始截取的位置,截取的长度)
返回截取后的字符串
6.查找某个子字符串在字符串中第一次/最后一次出现的位置
找到了就返回所在的位置值,没找到就返回-1
使用:字符串变量.方法名(子字符串)
7.判断字符串是否以某个子字符串开头/结束
如果为真,就返回true;如果为假,返回false
8.替换字符串
使用:字符串变量.方法名(旧字符串,新字符串)
9.判断某个字符串中是否包含某个子字符串
如果包含,就返回true;不包含,就返回false
10.去掉字符串前后的空格
Trim去掉字符串前后的空格
TrimEnd去掉字符串后面的空格
TrimStart去掉字符串前面的空格
返回的都是字符串
11.判断一个字符串是否为null或者空(null不占内存空间,空字符串是占内存空间的)
null和空字符的区别:
1、NULL:代表声明了一个空对象,不是一个字符串,可以赋给任何对象。
空字符:代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。
2、String s=null; 只是定义了一个句柄,即你有了个引用,但是这个引用未指向任何内存空间。
String s=”“; 这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东了,所以可以对它操作。
String s=”a”和String s=new String(“a”);是有本质上的区别的 :
(1) 前者是在字符串池里写入一个字符’a’,然后用s指向它; 后者是在堆上创建一个内容为”a”的字符串对象。
(2) String str=”aaa”; //于栈上分配内存 ;String str=new String(“aaa”); //于堆上分配内存
使用:string.方法名(字符串变量)
返回true/false
字符串的特点
字符串是引用类型
字符串的数据存储在堆空间中,栈空间中存储的是该数据的引用地址
字符串是不可变的
当你给一个字符串赋新值时,旧值并没有被销毁,而是再开辟一块新的空间来储存新值
字符串相当于一个只读的字符数组