美文网首页
java——String类

java——String类

作者: 打死你的小乌龟 | 来源:发表于2018-08-29 23:58 被阅读0次
    String类的特点:

    String是常量创建的对象不能改变如果改变就创建新的对象
    首先检查常量池中是否有该字符串,如果没有会创建
    字符串对象一旦被初始化就不会被改变。

    初始化一个String对象

    1.String str1= "abc";
    2.String str2 = new String();
    3.String str3 = new String("abc");

    String 类的常见操作
    length() :获取字符串长度
    charAt():获取字符
    indexOf():位置索引
    lastIndexOf():索引最后位置
    
    替换和去空格操作
    replace();
    trim();
    判断操作
    startsWith();是否以xx开头
    endWith();是否已xx结尾
    contains();是否包含字符串xx
    isEmpty();字符串是否为空
    equals();两个字符串是否相等
    截取与分割
    subString();
    split();
    
    StringBuffer类(字符缓冲区)

    StringBuffer和String最大的区别是它的内容和长度都是可以改变的
    * StringBuffer:就是字符串缓冲区。
    * 用于存储数据的容器。
    * 特点:
    * 1,长度的可变的。
    * 2,可以存储不同类型数据。
    * 3,最终要转成字符串进行使用。
    * 4,可以对字符串进行修改。

    StringBuffer sb = new StringBuffer();
    sb.append("hhh");
    sb.insert(2,"hhh");
    sb.delete(1,5);
    sb.deleteCharAt(2);
    sb.setCharAt(1,'p');
    sb.replace(1,3,"qq");
    
    区别:

    String类覆盖了Object类的equals()方法;
    String类的操作符可以用操作符+进行连接

    jdk1.5以后出现了功能和StringBuffer一模一样的对象。就是StringBuilder
    • 不同的是:

    • StringBuffer是线程同步的。通常用于多线程。

    • StringBuilder是线程不同步的。通常用于单线程。 它的出现提高效率。

      • jdk升级:
      • 1,简化书写。
      • 2,提高效率。
      • 3,增加安全性。
    字符串的排序
    public static void main(String[] args) {
    
            String[] arr = { "nba", "abc", "cba", "zz", "qq", "haha" };
    
            printArray(arr);
    
            sortString(arr);
    
            printArray(arr);
    
        }
    
        public static void sortString(String[] arr) {
    
            for (int i = 0; i < arr.length - 1; i++) {
                for (int j = i + 1; j < arr.length; j++) {
    
                    if(arr[i].compareTo(arr[j])>0)//字符串比较用compareTo方法
                        swap(arr,i,j);
                }
            }
        }
    
        private static void swap(String[] arr, int i, int j) {
            String temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    
        public static void printArray(String[] arr) {
            System.out.print("[");
            for (int i = 0; i < arr.length; i++) {
                if (i != arr.length - 1)
                    System.out.print(arr[i] + ", ");
                else
                    System.out.println(arr[i] + "]");
            }
        }
    

    相关文章

      网友评论

          本文标题:java——String类

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