tring是字符串类,他的特点是一初始化就不会改变。
String s = "abc";
s = "nba";
"abc"字符串对象并没有被改变,只是引用变量s指向了新创建的字符串对象"nba"
String s1 = "abc";
String s2 = new String("abc" );
字符串创建有个字符常量池,s1在常量池中s2在堆内存中
String中还复写了Equals方法只比较内容不比地址
String类部分方法
1 获取
获取字符串中字符的个数(长度)int length();
2 根据位置获取字符 char charAt(int index);
从指定位置开始查找ch第一次和最后出现的位置。
int indexOf(int ch);
int indexOf(int ch,int fromIndex);
int lastIndexOf(int ch);
int lastIndexOf(int ch,int fromIndex);
根据字符串获取在字符串中第一次和最后出现的位置。
int lastIndexOf(String str);
int lastIndexOf(String str,int fromIndex);
int indexOf(String str);
int indexOf(String str,int fromIndex);
获取字符串中的一部分字符串,也叫子串。
String substring(int beginIndex,int endIndex);
String substring(int beginIndex);
3 转换
将字符串变成字符串数组(字符串的切割)
String[] split(String regex);涉及到正则表达式。
将字符串变成字符数组char[] toCharArray();
将字符串变成字节数组char[] getBytes();
将字符串中的字母转成大小写
String toUpperCase();大写
String toLowerCase();小写
将字符串中的内容进行替换
String replace(char oldCh,char newCh);
String replace(String s1,String s2)
去除字符串两端空格 String trim();
将字符串进行连接 String concat(String str);
判断
两个字符串内容是否相同呢?boolean equals(Object obj);
boolean equalsIgnoreCase(String str);忽略大小写比较字符串内容。
字符串中是否包含指定字符串 boolean contains(String str);
字符串是否以指定字符串开头,是否以指定字符串结尾
boolean startsWith(String str);
boolean endsWith(String str);
5.比较
int compareTo(String str); 如果参数字符串等于此字符串,则返回值0;如果此字符串按字典顺序小于字符串参数,则返回一个小于0的值;如果此字符串按字典顺序大于字符串参数,则返回一个大于0的值 |
|