String一些简单方法

来源:互联网 发布:北京编程培训学校 编辑:程序博客网 时间:2024/06/06 02:02

字符串String是一个特殊的对象 一旦确定就不能改变。
比如String a =”abc“;和 String a = new String(“abc”);
是一样的,还有如果a改变值比如a=”sss”;这是a变量指向的对象变了 ,并不是abc变了 这个abc还在内存中

如果一个字符串abc在内存中已经存在,那么String b=”abc”;不会再创建对象,而是b这个变量指向abc这个对象。

String常见方法

1.获取

length()获取字符串长度
charAt(4)获取4索引的字符
indexof(‘a’,3);从索引3开始,第一次出现的a在第几个索引
indexof(str,3);从索引3开始,第一次出现str字符串的索引
lastindexof(‘a’)从末尾开始看,第一次出现a在第几个索引
….前面加一个last都是从后面开始看,出现那个字符串的索引

2.判断

contain(str);字符串中是否存在一个str子串
isempty()字符串是否为空
startwith(str)字符串是否以str为开头
endwith(str)字符串是否以str结尾
equals(str)判断内容是否相同
equalsignore(str)判断内容是否相同忽视大小写

3.转换

1.将字符数组转换成字符串
string(char[])将字符数组转换成字符串
string(char[], off,count)从off开始count个字符转换成字符串
静态方法
static String valueof(char[])将字符数组转换成字符串
static String valueof(char[], off,count)从off开始count个字符转换成字符串

2.将字符串转成字符数组
char[] charArray();
3.将字节数组转换成字符串
String(byte[])
String (byte[],off,count)
4.字符串转换成字节数组、
byte[] getbytes()
5.基本数据类型转换成字符串
static valueof(int/double/….)

4. 替换

String replace(oldchar,newchar);

5.切割

String split(regex)

6.子串获取字符串一部分

String substring(begin);
String substring(begin,end);

7. 转换,去空格,比较

1.转换大小写
String touppercase();大写
String tolowercase();小写
2.将字符串两端多余空格去除
String trim();
3.对两个字符创进行自然顺序比较
int compareto(String)

看完了可以练习一下
1.去两端空格

public class test {public static void main(String[] args) {    String str ="      abc bc         ";    teim(str);}public static void teim(String str){    char[] a = str.toCharArray();    int s=0;    int k = a.length-1;    //System.out.println(a[s]);    while(s<k&&a[s]==' '){        s++;    }    while(s<k&&a[k]==' '){        k--;    }    System.out.println( str.substring(s, k+1));    }}

或者

`public static void main(String[] args) {    String str ="      abc bc         ";    System.out.println(str.trim());}

2.字符串反转,把一个字符串的内容反转过来

public class fan {public static void main(String[] args) {    String str ="absdef";    char[] a= str.toCharArray();    vers(a);    System.out.println(a);} public static void vers(char[] a){     int s=0;     int k=a.length-1;     while(s<=k){         ver(a,s,k);            s++;            k--;     } }  public static void ver(char[] a ,int s,int k){        char b =0;        b =a[s];        a[s]=a[k];        a[k]=b;  }}

3.一个字符串在另一个字符串出现的次数

public class chu {public static void main(String[] args) {    String a ="abcdefgksfbcd";  int c=coun(a,"bc");    System.out.println(c);}public static int coun(String a,String key){    int count=0;    int index=0;while((index=a.indexOf(key))!=-1){    a=a.substring(index+key.length());    count++;}return count;}}

4.获取两个字符串相同的最大子串

public class tong {public static void main(String[] args) {    String a="nihaohellosbhello";    String b ="haonihellosnihao"    ;    System.out.println(sop(a,b));} public static  String  sop(String a,String b){    for(int i=0;i<b.length();i++){        for(int y=0, z=b.length()-i; z!=b.length()+1; y++, z++ ){        String temp =b.substring(y, z);        if(a.indexOf(temp)!=-1){            return temp;        }        }    }    return " "; }}
原创粉丝点击