String字符串的常用方法

一、String 的含义

    String 是定义一个字符串对象(内存中的字符串都是一个对象。)
      String 一旦被初始化就不能被改变(可以改变变量指向,但是不能改变对象内容)

    定义方式: String s1 = “abc”; //在内存中存在一个对象。
          String s2 = new String("abc"); //在内存中存在两个对象。
            String s3 = "abc";

      比较: s1 == s2 为false
          s1 == s3 为true (相同的字符串在静态池中一旦存在,就不会再产生新的该字符串了,以后其再出现,都使用它)
        String的equals方法: s1.equals(s2) == true;

二、字符串的常见方法

    1、获取
        1.1、字符串中包含的字符数(也就是字符串的长度)
            int length(); (注意与数组中的length做区别,数组中为属性,字符串中为方法)

        1.2、某一个角标位置上的字符
            char charAt(int index); (当访问的角标不存在时,提示字符串角标越界异常)

        1.3、根据字符获取该字符在字符串中的角标位置
            int indexOf(int ch); 返回的是字符第一次出现的角标位置。
            int indexOf(int ch,int fromIndex); 返回的是从fromIndex开始字符出现的角标位置。

            int indexOf(String str); 返回的是字符串第一次出现的角标位置。
            int indexOf(String str,int fromIndex); 返回的是从fromIndex开始字符串 出现的角标位置。

              (当访问的字符 或 字符串不存在时,返回 -1)

            int lastIndexOf(int ch): 反向索引(种类和解释与正向索引相同 )
              注:反向索引只是从右向左索引找到第一次出现目标的角标位置, 返回的依然是角标位置。
    2、判断

        2.1、判断字符串中是否包含指定字符串
            boolean contains(CharSequence s) :CharSequence:为String实现的接口

              特殊之处:indexOf(String str):可以索引字符串str第一次出现的位置,如果返回 -1,则表示该str不在字符串内。
                  所以,也可以用于对指定字符串判断是否包含。
                    if(str1.indexOf(“aaa”) == -1)
                    而且该方法既可以判断,由能获取位置。

        2.2、判断字符串是否有内容
            boolean isEmpty() :当且仅当长度为0时返回true。

        2.3、判断字符串是否以某某开头
            boolean startsWith(String prefix)

        2.4、判断字符串是否以某某结尾
            boolean endsWith(String suffix)

        2.5、判断字符串的内容是否相同
            boolean equals(Object anObject) (复写了Object 类中的equals方法)

        2.5、判断字符串的内容是否相同 ,(不考虑大小写)
            boolean equalsIgnoreCase(String anotherString)

    3、转换。
        3.1、 将字符数组转换成字符串
            构造函数: String(char[] value)
                  String(char[] value, int offset, int count): 将数组中从下标offset开始,一共count位字符转换成字符串。

            静态方法: static String copyValueOf(char[] data)
                  static String copyValueOf(char[] data, int offset, int count)

                  static String valueOf(char[] data)

        3.2、 将字符串转换成字符数组
                 char[] toCharArray()

        3.3、 将字节数组转换成字符串
                 String(byte[] value)
                 String(byte[] value, int offset, int count): 将数组中从下标offset开始,一共count位字符转换成字符串。
                      其他方法参见 3.5。

        3.4、 将字符串转换成字节数组
                 byte[] getBytes(String charsetName)

        3.5、 将基本数据类型转换成字符串

                 static String valueOf(boolean b)
                 static String valueOf(char c)
                 static String valueOf(char[] data)
                 static String valueOf(double d) 等等。

              注意:字符串和字节数组在转换过程中是可以指定编码表的。

    4、替换

        String replace(char oldChar, char newChar) : 返回一个数组,它是用newChar 替换就数组中的oldchar等到的。(一个一个的替换)
        String replace(CharSequence target, CharSequence replacement) : 后替前,用新串替换原串中的子串。

        注:原字符串没有改变,只是新出现了一个替换后的字符串(字符串一旦初始化,不能改变)
            如果要替换的字符没有,还是返回原串,不会生成新的字符串。

    5、切割,分割

        String[] split(String regex) : 指定其中某一个字符或字符串,以其下刀,切割字符串(其实应当依据正则表达式规则拆分)

    6、子串:(获取一个字符串的一部分)

        String substring(int beginIndex) //从指定下标位置到结尾。
        String substring(int beginIndex, int endIndex) //从指定下标位置到结束下标位置前一个

    7、转换、去除空格、比较

        7.1:将字符串转换成大写或者小写。
              String toUpperCase()
              String toLowerCase()
        7.2:将字符串两端多余的空额去除。
              String trim()
        7.3:将两个字符串进行自然顺序的比较。
              int compareTo(String anotherString)
              int compareToIgnoreCase(String str) :不考虑大小写。

            从第一位开始比较,比参数大返回正数,比参数小返回负数,都相等返回参数为0:一旦在某一位上分出大小了,便不再向后比较。

三、StringBuffer

    定义:字符串缓冲区, 为一个容器。

    特点:
      1、长度可变化。
      2、可以直接操作多个数据类型。
      3、最终通过toString方法返回一个字符串。

    c: create u: update r:read d: delete

      1、存储
        StringBuffer append():将指定数据作为参数添加到已有数据的结尾处。
            注:在StringBuffer对象调用appeed方法后,返回的就是其本身。
        StringBuffer insert(int offset, 基本数据 b) : 从offest下标位开始插入 基本数据类型、字符串或者数组 b。
            注:在StringBuffer对象调用insert方法后,返回的就是其本身。

      2、删除
        StringBuffer delete(int start, int end) : 移除下标start到 end-1的字符。
            注:在StringBuffer对象调用delete方法后,返回的就是其本身。
        StringBuffer deleteCharAt(int index) : 移除此序列指定下标位置的字符(char)。
            注:在StringBuffer对象调用deleteCharAt方法后,返回的就是其本身。

        清空缓冲区: sb.delate(0,sb.length());

      3、获取
        char charAt(int index) 返回此序列中指定索引处的 char 值。
        int indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。
        int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
        int lastIndexOf(String str) 返回最右边出现的指定子字符串在此字符串中的索引。
        int lastIndexOf(String str, int fromIndex) 返回最后一次出现的指定子字符串在此字符串中的索引。

        String substring(int start) 返回一个新的 String,它包含此字符序列当前所包含的字符子序列。
        String substring(int start, int end) 返回一个新的 String,它包含此序列当前所包含的字符子序列。
        注意:这里返回的是String,不StringBuffer。

          String toString():放回当前缓存区字符串。
          int length(): 返回字符数。

      4、修改

        StringBuffer replace(int start, int end, String str) 在start和end之间,用str替换

        void setCharAt(int index, char ch) 在index下标位置使用 字符dh替换原字符

      5、反转

        StringBuffer reverse()

      6、
        void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
        将缓冲区中的指定数据存到指定的字符数组中,从指定位置开始存。

四、StringBuilder
    在jdk 1.5之后新加功能
      其余StringBuffer功能一样。

      与StringBuffer的区别:
        StringBuffer是线程同步的。
        StringBuilder是线程不同步的。

          当是单个线程操作缓冲区时,建议使用 StringBuilder 其有更高的效率。

五、jdk版本升级的三因素

1、提高安全性
2、提高效率
3、简化书写

时间: 2024-12-28 08:23:40

String字符串的常用方法的相关文章

Python学习之路-string字符串的常用方法

大小写转换 1 __author__ = "KuanKuan" 2 print("name is JankinYu".capitalize())#转为首字母大写 3 print("name is JankinYu".title())#转为标题形式 Name Is Jankinyu 4 print("NAMW".lower())#转换为小写 5 print("name".upper())#转换为大写 6 pr

JAVA基础——重新认识String字符串

深入剖析Java之String字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象有三种方法 String s1="我是字符串1"; String s2=new String();//创建一个空的字符串对象 String s3=new String("我是字符串2&q

07python之字符串的常用方法

字符串作为python中常用的数据类型,掌握字符串的常用方法十分必要. 常用知识点: 1.字符串的3种格式化方法 2.字符串的strip()方法 3.字符串的join()方法 4.字符串可以切片 1.字符串的格式化有三种方式. 1)使用+拼接模式 2)使用占为符方式  %s 字符串占为符,%d数字占为符 3)使用字符串类的格式化方法,即 str.format() 优缺点: 1)此等方式开辟内存空间较大,不好,弃用 2)此等方式方便,可用 3)字符串格式化方法也挺好,可用. 总结:建议使用第二种,

Java String类的常用方法

String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original):构造一个original的副本.即:拷贝一个original. String(StringBuffer buffer):通过StringBuffer数组构造字符串对象. byte[] b = {'a','b','c','d','e','f','g','h','i','j'}; char[] c =

Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str="Hello";  推荐这种 使用关键字new  String str1=new String("Hello"); 在内存中开辟2个空间 如图: 源代码 StringDemo01.java 2.String内容的比较 String str="Hello"

Javascript中String、Array常用方法介绍

string和array作为javascript内置对象,其中许多方法无论是在开发过程中,还是在面试的时候都有机会被面试官问到,这里对经常用到的方法做一个介绍,这些方法都有过很多的实际应用场景,所以对它们的掌握还是非常有必要的. 1.Array数组常用方法? 先创建一个数组var abc = [1,2,3,4,5,6,7,8,9]; (1)pop(); 这个方法会删除数组的最后一项并返回删除掉的值. 比如:console.log(abc.pop());//9;    console.log(ab

Java 中 String 类的常用方法

String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等,下面我们就来领略它的强大之处吧. String 类的常用方法: 结合代码来熟悉一下方法的使用: 运行结果: 我们继续来看 String 类常用的方法,如下代码所示: 运行结果: 那么,“==” 和 equals() 有什么区别呢? ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象 equals(): 比较存储在两个字符串对象中的内容是否一致 P

Javascript中String对象的常用方法

charAt(): 返回在指定位置的字符. charCodeAt(): 返回在指定的位置的字符的 Unicode 编码. var s = "Smile forever!"; s.charAt(2); //i s.charCodeAt(2); //105 concat(): 连接字符串,参数可以是多个字符串. var s1 = "Smile forever!"; var s2 = "extend"; s1.concat(s2); //Smile f

C#中静态方法的运用和字符串的常用方法(seventh day)

又来到了今天的总结时间,由于昨天在云和学院学的知识没有弄懂,今天老师又专门给我们非常详细地讲了一遍,在这里非常谢谢老师.O(∩_∩)O 话不多说,下面就开始为大家总结一下静态方法的运用和字符串的常用方法. 理论:静态方法  static [访问修饰符] [static] 返回值类型 方法名() { 方法体; } •命名规则:方法名开头大写,参数名开头小写,参数名.变量名要有意义 •方法的调用,对于静态方法,调用有两种方式 •如果在同一个类中,直接写名字调用就行了. •或者类名.方法名(); •r