• String类常用方法。


    一,字符数组与字符串。

    一个字符串可以变成一个字符数组,同样,一个字符数组可以变成一个字符串。

    在String类中提供了以下操作方法。

    1)将字符串变成字符数组public char[] toCharArray();

    2) 字符数组变成字符串:public String(char [] value)

                 public String(char[] value,int offset,int count);//表示从offset位置开始的count个字符,组合成为一个字符串。

    public class StringAPIDemo01{
        public static void main(String args[]){
            String str1 = "hello" ;            // 定义字符串
            char c[] = str1.toCharArray() ;    // 将一个字符串变为字符数组
            for(int i=0;i<c.length;i++){    // 循环输出
                System.out.print(c[i] + "、") ; 
            }
            System.out.println("") ;        // 换行
            String str2 = new String(c) ;    // 将全部的字符数组变为String
            String str3 = new String(c,0,3) ;    // 将部分字符数组变为String
            System.out.println(str2) ;        // 输出字符串
            System.out.println(str3) ;        // 输出字符串
        }
    }
    运行结果:
    h,e,l,l,o
    hello
    hel

    上面分别使用了字符串变数组,和数组变字符串两种方法。

    二,从字符串中取出指定位置的字符。

    如果要做这种操作,则返回类型肯定是char类型。

    使用方法:public char charAt(int index)

    public class StringAPIDemo02{
        public static void main(String args[]){
            String str1 = "hello" ;            // 定义String对象
            System.out.println(str1.charAt(3)) ;    // 取出字符串中第四个字符
        }
    };
    输出结果:
    l

    三,字符串与bety数组的转换。

    byte数组,在一般I/O中经常用到

    在String类中,提供以下方法进行字符串和字节数组的转换。

    1)字符串变为字节数组:public byte getBytes();

    2)讲一个字节数组变为字符串:

    将全部数组变为字符串:public String(byte[] byte);

    将部分数组变成字符串:public String(char[] byte,int offset,int count);

    public class StringAPIDemo03{
        public static void main(String args[]){
            String str1 = "hello" ;            // 定义字符串
            byte b[] = str1.getBytes() ;    // 将字符串变为byte数组
            System.out.println(new String(b)) ;    // 将全部的byte数组变为字符串
            System.out.println(new String(b,1,3)) ;    // 将部分的byte数组变为字符串
        }
    };

    四,取得一个数组的长度。

    public int length();

    public class StringAPIDemo04{
        public static void main(String args[]){
            String str1 = "hello LiXingHua" ;        // 定义字符串变量
            System.out.println("""+str1+""的长度为:"+str1.length()) ;
        }
    };

    五,查找指定字符串是否存在。

    在实际操作中,经常会用到判断一个字符串是否存在某些内容,此时就可以使用以下方法:

    1)从头开始查找:public int indexof(String str);返回字符串开始的下标。

    2)从指定位置查找:public int indexof(String str,int fromIndex);//返回的是一个int数据,表示的是字符串的具体位置,如果没有,返回-1,

    public class StringAPIDemo05{
        public static void main(String args[]){
            String str1 = "abcdefgcgh" ;                // 声明字符串
            System.out.println(str1.indexOf("c")) ;        // 查到返回位置
            System.out.println(str1.indexOf("c",3)) ;    // 查到返回位置,从第4个位置开始查找
            System.out.println(str1.indexOf("x")) ;        // 没有查到返回-1
        }
    };
    运行结果:
    2,7,-1

    六,去掉空格。

    trim()可以去掉字符串左右的空格,但是字符串中间的空格是无法去掉的。

    public class StringAPIDemo06{
        public static void main(String args[]){
            String str1 = "    hello    " ;        // 定义字符串
            System.out.println(str1.trim()) ;    // 去掉左右空格后输出
        }
    };
    运行结果:
    hello

    七,字符截取。

    从一个字符串中取出部分内容,使用的方法是:

    1)从指定位置开始截取到最后位置;public String substring(int beginIndex);

    2)截取指定范围的位置内容:public String substring(int beginIndex,int endIndex);

    public class StringAPIDemo07{
        public static void main(String args[]){
            String str1 = "hello world" ;        // 定义字符串
            System.out.println(str1.substring(6)) ; // 从第7个位置开始截取
            System.out.println(str1.substring(0,5)) ; // 截取0~5个位置的内容
        }
    };
    运行结果:
    world
    hello

    八,拆分字符串。

    如果现在需要按指定字符串去拆分一个字符串的话,则使用:public String[] split(String regex)

    public class StringAPIDemo08{
        public static void main(String args[]){
            String str1 = "hello world" ;        // 定义字符串
            String s[] = str1.split(" ") ;        // 按空格进行字符串的拆分
            for(int i=0;i<s.length;i++){        // 循环输出
                System.out.println(s[i]) ;
            }
        }
    运行结果:
    hello
    world

    例子按照空格,被拆分成两个字符串,形成一个包含两个字符串的字符串数组。

    九,大小写转换。

    将一个大写的字符串全部变成小写:public String toUpperCase();

    讲一个小写的字符串全部变成大学:public String toLowerCase();

    public class StringAPIDemo09{
        public static void main(String args[]){
            System.out.println("将"hello world"转成大写:" + "hello world".toUpperCase()) ;
            System.out.println("将"HELLO WORLD"转成小写:" + "HELLO WORLD".toLowerCase()) ;
        }
    运行结果:
    HELLO WORLD
    hello word

    十,判断是否以指定的字符串开头或者结尾。

    在String中可以以以下方法完成。

    1)是否以指定字符串开头:public boolean starsWith(string prefix)

    2)是否以指定字符串结尾:public  boolean endWith(string suffix)

    public class StringAPIDemo10{
        public static void main(String args[]){
            String str1 = "**HELLO" ;            // 定义字符串
            String str2 = "HELLO**" ;            // 定义字符串
            if(str1.startsWith("**")){            // 判断是否以“**”开头
                System.out.println("(**HELLO)以**开头") ;
            }
            if(str2.endsWith("**")){            // 判断是否以“**”结尾
                System.out.println("(HELLO**)以**结尾") ;
            }
        }
    };
    运行结果:
    (**HELLO)以**开头
    (HELLO**)以**结尾

    十一,不区分大小写的字符串比较。

    public boolean equalsIgnoreCase(String anotherString)
    public class StringAPIDemo11{
        public static void main(String args[]){
            String str1 = "HELLO" ;            // 定义字符串
            String str2 = "hello" ;            // 定义字符串
            System.out.println(""HELLO" equals "hello" " + str1.equals(str2)) ;
            System.out.println(""HELLO" equalsIgnoreCase "hello" "
                    + str1.equalsIgnoreCase(str2)) ;    // 不区分大小写的比较
        }
    };
    运行结果:
    false
    ture

    十二,字符串替换。

    使用这个方法完成字符串替换:

    public String replaceAll(String regex,String replacement);

    public class StringAPIDemo12{
        public static void main(String args[]){
            String str = "hello" ;            // 定义字符串
            String newStr = str.replaceAll("l","x")    ;    // 现在将所有的l替换成x
            System.out.println("替换之后的结果:" + newStr) ;
        }
    };
    运行结果:
    替换之后的结果:hexxo
  • 相关阅读:
    Executors几种常用的线程池性能比较
    mac上利用minikube搭建kubernetes(k8s)环境
    基于redis的分布式锁二种应用场景
    alibaba canal安装笔记
    开源流媒体服务器SRS学习笔记(4)
    开源流媒体服务器SRS学习笔记(3)
    pygame-KidsCanCode系列jumpy-part18-背景滚动
    开源流媒体服务器SRS学习笔记(2)
    开源流媒体服务器SRS学习笔记(1)
    pygame-KidsCanCode系列jumpy-part17-mask-collide碰撞检测
  • 原文地址:https://www.cnblogs.com/alsf/p/5513849.html
Copyright © 2020-2023  润新知