Java常用API_String
String类在jdk中lang包下,”lang”是”语言”的意思
与String类有关联的一些类是这些
String字符串是常量,它的值创建后不可更改;
StringBuilder是变量,引用的地址值不变,里面的字符串是可以改变的;
代码演示
public static void main(String[] args) {
String str = new String("HelloWorld");
change(str);
System.out.println(str);//这里打印仍然是"HelloWorld"
StringBuilder sb = new StringBuilder("HelloWorld");
change(sb);
System.out.println(sb);//这里打印的是"HelloWorld!!!"
}
static void change(String s) {
s = s + "!!!";
}
static void change(StringBuilder s) {
s = s.append("!!!");
}
构造方法:
String 类 字符串等效是char[]字符数组,本质byet[];
所以新建字符串可以用byte[]作为参数创建;
成员方法
成员方法 分为3个部分(获取部分+判断部分+获取索引值), 与其他.
获取部分
意义 返回值 方法
全部替换 String replace(char oldChar, char newChar)
全部替换 String replace(CharSequence old, CharSequence new)
全部替换 String replaceAll(String old, String new)等效replace
只替换掉出现的第一个,只替换一个 String replaceFirst(String regex, String replacement)
分割 String[] split(String regex)
分割,限定个数 String[] split(String regex, int limit)限定个数为1个的话,等效于去掉字符串的特定部分
截取 String substring(int beginIndex) begin是开始的意思
截取, 左开右闭, 包含bigin,不包含end String substring(int beginIndex, int endIndex)
去掉字符串的首尾空格 String trim()
字母全部转小写字母 String toLowerCase()
字母全部转大写字母 String toUpperCase()
判断部分
contains是包含的意思 boolean contains(CharSequence s)
content是内容的意思 boolean contentEquals(CharSequence cs)
String重写的equals会判断是不是String类 boolean equals(Object anObject)//如果Obj是Str的父类引用,会转型到Str
String比较String忽略大小写 boolean equalsIgnoreCase(String anotherString)
测试此字符串是否以指定的后缀结尾 boolean endsWith(String suffix)//可用来看文件名是不是.jpg//.avi
测试此字符串是否以指定的前缀开头 boolean startsWith(String prefix)
测试在指定索引处开始的子字符串是否以指定的前缀开头 startsWith(String prefix, int toffset)
判断字符串长度是不是0 boolean isEmpty()
" "返回亦是true,长度是0是true boolean isBlank()//blank是空白的意思
判断是否存数字,日期等 boolean matches(String regex) //判断字符串是否符合正则表达式的翻译表示
返回字符串中索引值
返回指定子字符串第一次出现在字符串内的索引位置 int indexOf(String str)//如果没有这个str,返回值是-1;
从from代表的索引位置开始搜索,包含from int indexOf(String str, int fromIndex)
返回指定字符的最后一次出现的字符串中的索引 int lastIndexOf(String str)
从from代表的索引位置开始搜索,包含from int lastIndexOf(String str, int fromIndex)
字符部分
根据索引得到单个字符 char charAt (参数是代表索引的数字)
把字符串装进char[ ]中去,左开右闭,End不包含 char[] getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
得到字符数组 char[] toCharArray()
其他部分
API文档中还有一些方法没有归纳整理出来,以后试过这些方法后再更新...
SringBuilder
String在每出现新字符串的时候都会添加进字符串常量池,
在对字符串 添加,插入,删除次数比较多的时候String效率低下
这3个事都是StringBuilder干比较高效;
构造方法
1/StringBuilder()
2/StringBuilder(CharSequence seq)
3/StringBuilder(String str)
成员方法
尾部追加
删除
插入
特技前后翻转
StringBuffer
StringBuffer与StringBuilder同样是可变的
StringBuffer优势在于线程安全
在多线程共享资源的状况下,StringBuffer一次只会完整的执行一个线程