String一些简单方法

字符串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 " ";
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值