字符串最大特点:字符串是一个特殊的对象,一旦被初始化就不可以被改变
----------------------------------------------
定义:
1.双引号引起来的都是String类实例
String s=new String("abc);
String s1="abc";//s1是一个类类型变量,"abc"是一个对象
s1="kk";//s1指向"kk"对象,"abc"没变,存在内存中。
s与s1的区别:
s代表两个对象(在内存中有两个对象)
s1代表一个对象
--------------------------------------------------
String类适用于描述字符串事物:字符串特点和方法使用
-------------
1获取:
1.1int length();返回字符串长度(数组的length是属性)
1.2获取位置上的字符:char charAt(index);
1.3根据字符获取位置:int indexOf(ch);//返回ch在字符串中第一次出现的位置
int indexOf(ch,int fromindex);//从fromindex位置开始寻找
int indexOf(str);//返回str子串第一次出现的位置
int indexOf(String str,int fromindex)
int lastIndexOf(ch);//返回ch在字符串中最后一次出现的位置
若没有找到,index=-1;
2.判断:
2.1字符串是否包含某一子串 boolean contains(str);
(indexOf(str)返回-1表该str不在字符串中,可用来判断是否包含某一子串)
2.2是否有内容: boolean isEmpty();
2.3是否以指定内容开头: boolean startsWith(str);
2.4是否以指定内容结尾: boolean endsWith(str);
2.5判断字符串内容是否相同:boolean equals(str);
忽略大小写判断内容 :boolean equalsIgoreCase();
3.转换:
3.1将字符/字节数组转成字符串:构造函数String(char []) String(char [] ,int offset ,int count);
static String copyOf(char []) static String copy(char[] ,offset,count);
static String valueOf(char[])
3.2将字符串转换成字符数组:char [] toCharArray();
3.3将字符串转成字节数组:byte[] getBytes();
(字符串和字节数组转换过程中,是可以指定编码表的)
3.4将基本数据类型转成字符串:String valueOf(基本数据类型)
4.替换:
4.1String replace(oldstr,newstr).//如果替换的字符串不存在,返回的是原串
5.切割:
5.1String [] split(regex);
String s="zhangsan ,lisi,wangwu";
String [] str=s.split(",");
6.子串:
String subString(begin);
String subString(begin,end);
String s="abcdef";
s.subString(2);-->"cdef";
s.subString(2,4);-->cd//包含头不包含尾
如角标不存在,会出现角标越界异常、、
7.转换:
7.1将字符串转成大/小写:String toUpperCase();String toLowerCase()
7.2将字符串中两端的多个空格去掉:String trim();
7.3对两个字符串进行自然顺序的比较:int compareTo(Stirng);