字符串的方法

来源:互联网 发布:黑马java培训 编辑:程序博客网 时间:2024/06/06 01:06

获取 
int length():
获取长度
char charAt(int index):
获取位置上的某个字符
int indexOf(int ch)//因为接受的是ASCⅡ码,返回的是ch在字符串中出现的第一次位置
int indexOf(int ch, int fromIndex)//从fromIndex指定位置获取ch在字符串中出现的位置。
int indexOf(String str)//返回的是str在字符串中第一次出现的位置
int indexOf(String str, int fromIndex) //返回的是str在位置fromIndex后字符串中出现的第一次位置
int lastIndexOf(String str)//反向索引的位置
判断
boolean contains(str):
字符串中是否包含某一个子串;
boolean isEmpty();
字符串中是否有内容 ,原理:就是判断长度是否为0,""是对象 null是空
boolean startsWith(str);字符串是否是以指定内容开头
boolean endsWith(str);字符串是否是以指定内容结尾
boolean equals(str);判断字符串的内容是否相同,覆写了Object类中的equals方法
boolean equalsIgnoreCase();判断内容是否相同,并忽略大小写比较
转换
将字符数组转成字符串
   
构造函数:String(char[])将字符数组转换成字符串
   String(char[],fooset,count)将数组中的一部分转换成字符串
   注解:char[]是数组;fooset是起始位;fount是个数.
静态方法:
  static String copyValueOf(char[]);
  static String copyValueOf(char[] data, int offset, int count)//字符数组中的一部分转换成字符串
  static String ValueOf(char[]);
将字符串转成字符数组:char[] toCharArray();
将字节数组转成字符串.
  String(byte[])将字符串中的一部分转换成数组
  String(byte[],offset,count)
将字符串转成字节数组:byte[] getBytes();
将基本数据类型转换成字符串。
 static String valueOf(int)
 static String valueOf(double)
 3+"";//String.valueOf(3);//后者比较专业,其实都是一样滴.
切割和替换以及子串
替换
   String replace(char oldChar, char newChar)
   
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 
切割
 String[] split(regex);//
里面存的也是规则,但是不是正则的
子串,获取字符串中的一部分.
 String substring(begin);//从begin开始到结尾处,如果角标不存在,会存在字符串角标越界异常。
 String substring(begin,end);//包含头不包含尾,
转换
 String toUpperCase();//
转换成大写
 String toLowerCase();//
转换成小写
 String trim();将字符串两端的多个空格去除。
对两个字符串进行自然顺序的比较
int compareTo(String);
 |-
如果参数字符串等于此字符串,则返回值 0
 |-如果此字符串按字典顺序小于字符串参数,则返回一个小于0的值;
 |-如果此字符串按字典顺序大于字符串参数,则返回一个大于0的值。
StringBuffer
StringBuffer是字符串缓冲区 ,是一个容器(StringBuffer内数据可以改变)
特点:
1,而且长度是可以变化的。
2,可以直接操作多个数据类型。
3,最终会通过toString方法变成字符串
存储:
 StringBuffer append();
将指定的数据作为参数,添加到已有数据的结尾处.
 StringBuffer insert(index,
数据);将数据插入指定位置上
删除:
 StringBuffer delete(start,end);包含start,不包含end
 StringBuffer deleteCharAt(intdex);删除指定位置的字符
获取:
 char charAt(index);
获取一个
 int indexOf(String str);
根据字符串获取位置
 int lastIndexOf(String str);根据字符串从后面获取位置
 int length();//获取长度
 String substring(int start);获取子串
 String substring(int start,int end);获取子串,不包含尾巴
修改:
 StringBuffer replace(int start, int end, String str)//修改:头,尾巴,字符串
 void setCharAt(int index, char ch)//注意喽,没有返回类型
反转:
 StringBuffer reverse()//
反转
将缓冲区中的指定数据存储到指定字符数组中
  void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 
StringBuilder
在JDK1.5版本之后出现了StringBuilder
不同之处:
StringBuffer是线程同步
StringBuilder是线程不同步的
(以后遇到程序的时候,遇到多线程的时候遇到StringBuffer)
升级三个因素:
提高效率、简化书写、提高安全性。
十进制转换其它进制:
 static String toBinaryString(int i) //10→2进制
 static String toHexString(int i)    //10→16
 static String toOctalString(int i)  //10→8
其它进制转换十进制:
 parseInt(String s,int radix);
JDK1.5版本以后出现的新特性
Integer x = 4;//自动装箱 相当于Integer x1 = new Integer(4);x = x1
 Integer m = 128;
 Integer n = 128;
 sop("m==n:"+(m==n));//false
 Integer a = 127;
 Integer b = 127;
 sop("m==n:"+(a==b));//true
因为:当数值在byte范围内时,对于新特性,如果该数值已经存在不会再开辟一个新的空间。
注意,如果是equals判断,则都为true

0 0
原创粉丝点击