String
String:
由单个或者多个字符组成
创建后不可修改
字符串的创建:
String();
String(“”);
String(byte[])
String(byte[],charset)
String(byte[],offset,length)
String(byte[],offset,length,charset)
String(char[],offset,length,charset)
String(char[])
String(char[],offset,length)
String(str)
String(stringbuffer);
String(builder)
创建的常见2种方式:
1. String str = "abc";
只有一个对象str
"abc"会存放在字符串常量池中,当常量池中没有的时候就创建,有就直接拿来用
2. String str = new String("abc");
有2个对象 一个new对象 一个str
str="bbb";
String 是不可改变的,是说创建了new对象,abc在new对象中不可变
获取
String是有角标的,作为类,String的获取方法有以下
int length();
char charAt(index);//获取指定索引的字符 ,索引值在0~length()-1之间 否则会有角标越界
获取字符或字符串在字符串中第一次出现的角标
int indexOf(ch);
int indexOf(ch,fromIndex);
int indexOf(str)
int indexOf(str,fromIndex);
获取字符或字符串最后一次出现的角标
lastIndexOf 与第一次差不多
int lastIndexOf(ch)
int lastIndexOf(ch,fromIndex)
int lastIndexOf(str)
int lastIndexOf(str,fromIndex)
String substring(beginIndex, endIndex)//包含begin 不包含end 。
String substring(int beginIndex);
转换
byte[] getBytes();字节数组
toCharArray();字符数组
String toUpperCase():大写
String toLowerCase():小写
split("正则表达式 str"):根据给定正则表达式的匹配拆分此字符串
String replace(char oldch,char newch);//返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replaceAll(String s1,String s2);
判断
equals(obj)//将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
equalsIgnoreCase(str)//将此 String 与另一个 String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。
contain(str) 是否包含
startsWith(str) 测试此字符串是否以指定的前缀开始。
endWith(str) 测试此字符串是否以指定的前缀结束
startsWith(String prefix, int toffset)
判断
isEmpty() 是否为空
compareTo(str) 按字典顺序 比较
compareToIgnoreCase() 不考虑大小写