• 字符串.特殊引用类型


    string str="123";
    //其实在内存中开辟一个空间,创建了一个String类型的对象
    String str1=new String(new char[]={'1','2','3'});

    1.字符串可以看做成一个string数组

    char c=str[0];

    2.str,length可以表示字符串的字符个数

    3.字符串一旦被创建就不能被修改

         在创建字符串对象时,会先去字符串拘留池中寻找是否有相同的内容的对象,如果没有再去创建

         字符串在内存中存储在字符串拘留池中,当被重新赋值是,变量名指向新的对象,而当前对象会保留,一旦有对象存储相同内容是,将它指向旧的字符串。

    4.字符串对象一旦被创建,不会被GC回收

    5常用操作

    string.Empty代表一个空串"",强调不是指null;
    //判断指定字符串是否以指定的字符技术
    bool a=str.Endwith("2");
    //Equals 判断两个指定的字符串的内容是否相同
    
    //Format格式化字符串
    string s=string.Format("我爱{0},你爱{1}","",他);
    •Length
    •方法
    •IsNullOrEmpty()  静态方法,判断为null或者为””
    •ToCharArray() 将string转换为char[]
    •ToLower()  小写,必须接收返回值。(因为:字符串的不可变);
    •ToUpper()              大写
    •Equals()                   。。。。
    •IndexOf()               如果没有找到对应的数据,返回-1 
    •LastIndexOf()  如果没有找到对应的数据,返回-1
    •Substring()  //2个重载
    •Split() 
    •Join()  静态方法
    •Format  ()  静态方法
    •Replace()  Trim() 
    6.字符串连接
    直接连接时每次连接都会在内存中创建一个对象,连接效率底下
    而在System.text空间下,的StringBulider可以很好的解决连接效率问题
    StringBulider sb=new StringBuilder();
    sb.append("a");
      

    sb对象时可变的,当改变这个对象的字符串时不回去新开空间 而是直接改变

     
  • 相关阅读:
    Express本地测试HTTPS
    在 WebStorm 中,配置能够识别 Vue CLI 3 创建的项目的别名 alias
    在线版本的ps
    功能强大的任务日历组件
    tree-shaking实战
    深入diff 算法
    【题解】[SHOI2001] Panda 的烦恼
    【题解】[JLOI2011]不重复数字
    「Codeforces Global Round #10」赛后个人总结
    【题解】[SCOI2004] 文本的输入
  • 原文地址:https://www.cnblogs.com/liuhao2050/p/3800091.html
Copyright © 2020-2023  润新知