String的一些常见用法

public int length()
public char charAt(int index)
public boolean equals(Object anObject)
public int compareTo(String anotherString)
public int indexOf(String s)
public int indexOf(String s ,int startpoint)
public int lastIndexOf(String s)
public int lastIndexOf(String s ,int startpoint)
public boolean startsWith(String prefix)
public boolean endsWith(String suffix)
public boolean regionMatches(int firstStart,String other,int otherStart ,int length)
//①substring 截取指定索引处之后(包含指定索引处的字符)的所有字符 >=startIndex
public String substring(int startpoint)
//到什么范围内的字符串含头不含尾
public String substring(int start,int end)
pubic String replace(char oldChar,char newChar)
public String replaceAll(String old,String new)
//方法12:trim 去掉前后空格
public String trim()
//方法13:concat 拼接字符串
public String concat(String str)
//方法14:contains 判断字符串中是否包含指定子串
public boolean contains(CharSequence s)
//方法15:split 根据指定的字符进行拆分
public String[] split(String regex)
toCharArray转换成字符数组
intern先去常量池查看是否有该对象,如果没有则创建,并引用,如果已经存在则直接引用



char-------->Character
Chartracter类的常用方法:
toUpperCase//转换成小写
toLowerCase//转换成大写
isUpperCase//判断是否是大写
isLowerCase//判断是否是小写
isDigit //判断是否是数字
isLetter//判断是否是字母
isWhiteSpace//判断是否是空格。
例:
public static void main(String[] args) {
//判断是否是数字
System.out.println(Character.isDigit('a'));
//判断是否为大写
System.out.println(Character.isUpperCase('a'));
//判断是否为小写
System.out.println(Character.isLowerCase('a'));
//判断是否为字母
System.out.println(Character.isLetter('a'));
//判断是否为空格
System.out.println(Character.isWhitespace('a'));
//转换成大写
System.out.println(Character.toUpperCase('a'));
//转换成小写
System.out.println(Character.toLowerCase('a'));
}
三、String类的常见方法
length获取字符串的长度
charAt获取指定索引处的字符
toUpperCase转换成大写
toLowerCase转换成小写
contains判断是否包含某子串
compareTo比较两个字符串大小
indexOf获取字符或字符串第一次出现的索引
split拆分
we are good childeren
split(" ",1)
startsWith判断是否以XX开头
endsWith判断是否以XX结尾
substring截取子串
substring(startIndex):>=startIndex
substring(startIndex,endIndex):startIndex<=截取字符的索引<endIndex
trim去前后空格
replace/replaceAll提取指定的字符
equals区分大小写判断内容是否相等
equalsIgnoreCase忽略大小写判断内容是否相等
regionMatches判断两个字符串指定位置的子串是否相等
toCharArray转换成字符数组
intern先去常量池查看是否有该对象,如果没有则创建,并引用,如果已经存在则直接引用




二、String类的特性
特性:String类保存的是字符串常量,里面一旦赋值,则值不能更改,只能更改地址
【面试题1】创建了几个对象? 四个 //String存字面量,a+b 是变量需要再堆存new一个StringBuffer()对象,再在常量池中建一个hellabc对象。指向stringBuffer
String a = "hello";
String b = "abc";
String c = a+b;

【面试题2】创建了几个对象?一个//两个都是字面量拼接,JVM底层会先做个优化先拼接再在常量池中创建一个helloworld对象。

String c = "hello"+"abc";

【面试题3】
String s = "hello";
s.concat("abc");
System.out.println(s);//hello 注:做了个拼接,但没有改变s的地址值,没有赋给s,因此还是s不变。

【面试题4】
/**
* 将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”
*/
public static String reverseString(String oldStr,int beginIndex,int endIndex){
//①提取指定索引范围内的子串
String first = oldStr.substring(0, beginIndex);//起始
String substring = oldStr.substring(beginIndex, endIndex);
String last = oldStr.substring(endIndex);//末尾
//②逆序子串
for(int i=substring.length()-1;i>=0;i--){
first+=substring.charAt(i);
}
return first+last;
}

猜你喜欢

转载自blog.csdn.net/shuimofengyang/article/details/79772492