常用类(字符串操作类)
Posted xszddsz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用类(字符串操作类)相关的知识,希望对你有一定的参考价值。
java.lang.String
字符串不能称之为数据类型,因为他的长度不确定,可大可小,数据类型是有他特定的存储单元的。
字符串的内容不能发生改变:(原因如下)
1.里面用的是数组,数组不可变,没有必要扩展数组
2.字符串优化(字符串池的优化)
3.它里面的数值是常量
String string=new String();//重新创建字符串对象可以逃脱字符串的优化 String string="abc"; String string1="abc"; System.out.println(string==string1);//true,没有new对象之前,他们的地址是相同的,“==”代表的是两个字符串的内容和地址都相同 String s=new String("abc"); System.out.println(s==string);//false /** * 哈希值的算法中不参与地址的运算,只要满足a.equals(b),那么他们两个的哈希值就相同 */ System.out.println(s.hashCode()); System.out.println(string.hashCode())
String的相关方法:
String str="ahvshdvasvssvasis.java"; str.substring(0,5);//截取方法 规定截取的范围即可,容易发生数组越界的异常 str.substring(2);//表示从字符串的第二个开始截取 str.indexOf("a");//搜索方法,用于检索字符串中指定的字符下标,如果没有搜索到此字符则返回-1; str.toCharArray();//将字符串类型转换为char[]数组类型 str.lastIndexOf("a");//表示从字符串的最后面进行指定字符的检索 str.replace("h","w");//替换制定的字符,前者是指定要替换的字符,后者是指出替换的字符 str.toLowerCase();//把字符串中的大写全部转换成小写 str.toUpperCase();//将字符串中的小写全部换成大写 str.startsWith("");//字符串前缀比较 str.endsWith("");//字符串后缀比较 str.equalsIgnoreCase("");//不区分大小写比较字符串 str.equals("");//区分大小写比较字符串 String string="我是中国人"; byte[] bytes=string.getBytes("gbk"); String s=new String(bytes,"gbk");//字节转字符串,如果字符串转byte()有字符集的要求则byte转到字符串也必须有相同的字符集,不然会出现乱码 System.out.println(s); String string="168.199.1.1"; String[] s=string.split("\\.",4);//分割方法,按照相应的分割符号把字符分割,后面是要分隔的部分 for (String string1 : s) System.out.println(string1);
StringBuffer的相关方法:
String str="我爱我的祖国"; StringBuffer stringBuffer=new StringBuffer(); char[] strings=str.toCharArray(); for (char string : strings) stringBuffer.append(string);//StringBuffer数组里的长度可以改变
StringBuffer和StringBuild的区别
StringBuilder:没有加同步安全关键字
StringBuffer :加了同步安全关键字(synchronized)
同步安全就是一次只允许一个任务访问
如果一个线程访问操作字符串,你就用StringBuilder。
如果多个线程访问操作字符,你就用StringBuffer。
以上是关于常用类(字符串操作类)的主要内容,如果未能解决你的问题,请参考以下文章