美文网首页
Java--String类常用方法小结(StringBuffer

Java--String类常用方法小结(StringBuffer

作者: 凌云struggle | 来源:发表于2019-08-15 17:49 被阅读0次

    Java String 类

    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

    字符串的创建

    • 创建字符串最简单的方式

    String str = "hello";
    

    注意:String创建的是不可变字符串,一旦创建,内容不能发生改变
    如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类

    String str = new String();
    
    • 使用构造方法创建字符串

      • 提供一个字符数组参数:

          char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
          String helloString = new String(helloArray);  
          System.out.println( helloString );
    
    • 使用字节数组 创建一个字符串

      • 如果存放的是整型数字,会转化为对应ASCII码的字符
         //使用字节数组  创建一个字符串
            byte[] name = {'a','b','c'};
            String str4 = new String(name);
            System.out.println(str4);
    
            byte[] name2 = {97,98,99};
            String str5 = new String(name2);
            System.out.println(str4);
    
            //使用字节数组里面的一部分 创建一个新的数组
            String str6 = new String(name,0,2);
            System.out.println(str6);
    
           char[] hello = {'你','好','啊'};
            String h = new String(hello);
            System.out.println(h);
    

    字符串常用方法

    下面是 String 类支持的方法,更多详细,参看 Java String API 文档:

    String h = "hello";
    char c = h.indexOf(2);
    System.out.println(c);
    
    • 获取字符串的长度

            String site = "www.baidu.com";
            int len = site.length();
            System.out.println( "百度网址长度 : " + len );
    
    • == 与equals()辨析

      • == 比较两个对象是否相同:地址
      • equals 比较内容是否相同
    //如果str1 与str 2 内容相同  ,则两者地址相同
            String str1 = "abc";
            String str2 = "abcd";
    
            System.out.println(str1 == str2);      //false
            System.out.println(str1.equals(str2));      //false
    
    • 连接两个字符串,返回值为一个新的字符串

    使用:string1.concat(string2);

            String nStr = str5.concat(h);
            System.out.println(nStr);
    
            int result = str4.compareToIgnoreCase(str5);
            System.out.println(result);
    
    • 判断一个字符串是否包含另外一个字符串 contains

            boolean ressult = "hello,world".contains("world");
            System.out.println(ressult);
    
    • 判断是否以某个字符串结尾,结尾,第几个字符开始以什么开始

             String url = "http://www.baidu.com";
            if (url.endsWith(".com")){
                System.out.println("网址");
            }
    
            if (url.startsWith("http")){
                System.out.println("http协议");
            }
    
            if (url.startsWith("www",7)){
                System.out.println("万维网");
            }
    
    • 获取一个子字符串在另外一个字符串里面的位置,如果不存在 返回值为-1.

            String string = "hello Java";
            int index = string.indexOf("Java");
            System.out.println(index);
    
    • 获取子字符串

      • substring 从index到结尾
            String sStr = string.substring(6);
            System.out.println(sStr);
    
    • 获取索引值从i到j的字符串
            String sStr2 = string.substring(4,7);
            System.out.println(sStr2);
    

    想了解更详细的用法:https://www.runoob.com/java/java-string.html

    StringBuffer 和 StringBuilder类(可变字符串)

    类型 StringBuffer类 StringBuilder类
    线程 线程安全 线程不安全
    效率 效率不高 效率更高
    方法:insert append delete replace
    • append 在末尾追加
      // 创建的同时先准备好6个字符的空间
        StringBuffer sBuffer = new StringBuffer(6);
        sBuffer.append("I ");
        sBuffer.append("love ");
        sBuffer.append("Java");
        System.out.println(sBuffer);  
    
    • 插入数据 insert
            sBuffer.insert(2, "also ");
            System.out.println(sBuffer);
    
    • 删除 delete
            sb.delete(2,6);
            System.out.println(sb);
    
    • 替换 replace
            // start  end  string
            int start = sBuffer.indexOf("Android");
            int end = start + "Android".length();
            sb.replace(start,end,"you!!!");
            System.out.println(sBuffer);
    
    • 反转 reverse
            sb.reverse();
            System.out.println(sb);
    
    
    输出结果: 输出结果

    心得体会:

      要提高自己的学习能力,如何快速地了解一个类里面的方法,并且学会运用。

    相关文章

      网友评论

          本文标题:Java--String类常用方法小结(StringBuffer

          本文链接:https://www.haomeiwen.com/subject/edtijctx.html