Java基础--StringBuilder和包装类
发布日期:2022-02-14 16:09:29 浏览次数:26 分类:技术文章

本文共 3261 字,大约阅读时间需要 10 分钟。

java包装类及StringBuilder

  • StringBuilder

    • a)、常用构造方法

      • i. StringBuilder stringBuilder = new StringBuilder();
      • ii. StringBuilder stringBuilder1 = new StringBuilder(String str);
      • iii. StringBuilder stringBuilder2 = new StringBuilder(int capacity);

        其Capacity 属性表明了一个StringBuilder 实例最多可以存储多少个字符,当存储的字符所需的空间大于这个数的时候,StringBuilder 会自动增大内存,增加Capacity

        StringBuilder str= new StringBuilder();StringBuilder string = new StringBuilder("xxx");
    • b)、常用方法

      • i. StringBuilder append(boolean b)将boolean 参数的字符串表示形式追加到序列;参数可以为基本数据类型或引用数据类型;

        str.append(1);str.append(2.3f);str.append(23.45);str.append('w');str.append("Hello");str.append(1435456323456l);str.append(new Date());String sBuilder = str.toString();
      • ii. char charAt(int index) 返回此序列中指定索引处的 char 值;

      • iii. StringBuilder delete(int star,int end) 移除此序列的子字符串中的字符;
      • iv. StringBuilder deletecharAt(int index) 移除此序列指定位置上的 char;

        //StringBuilder delete(int a,int b)删除a到b之间的元素(前包后不包)number.delete(2, 5);//StringBuilder deleteCharAt(int a)删除索引a的元素number.deleteCharAt(3);
      • v. int indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引

      • vi. StringBuilder insert(int offset,int index) 将 int参数的字符串表示形式插入此序列中; 参数可以为基本数据类型或引用数据类型;

        //StringBuilder insert(int a,char c)在索引a处插入c number.insert(3, '3');System.out.println(number);//StringBuilder insert(int a,String s);在索引为a处插入s索引后的元素后移number.insert(2, "234");System.out.println(number);
      • vii. int length()返回长度(字符数);

      • viii. StringBuilder replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串中的字符;前包后不包;

        //StringBuilder reolace(int a,int b,String s)从索引a到b替换为s(前包后不包)number.replace(2, 5, "saf");
      • ix. StringBuilder reverse()将此字符序列用其反转形式取代;

        //reverse倒序改变原StringBuildernumber.reverse();
      • x. void setCharAt(int index, char ch) 将给定索引处的字符设置为 ch;

        StringBuilder number = new StringBuilder("1234567");//void setCharAt(int index, char ch)将给定索引处的字符设置为 ch number.setCharAt(3, 'A');//123A567System.out.println(number);
      • xi. String substring(int start) 返回一个新的 String,它包含此字符序列当前所包含字符的子序列;

        // String substring(int start)返回一个新的 String,从索引为start开始 String dString=number.substring(3);System.out.println(dString);//String substring(int start, int end)返回一个新的 String,前后都包 String str = number.substring(3, 6);System.out.println(str);
      • xii. String toString()返回此序列中数据的字符串表示形式;

  • String、StringBuilder与StringBuffer

    • a)、String是不可变字符串、StringBuilder与StringBuffer是可变的字符串;
    • b)、StringBuilder非线程安全的高效率;
    • c)、StringBuffer线程安全的效率低
  • 包装器

    • a)、byte -> Byte、short -> Short、int -> Int、long -> Long、float -> Float、double -> Double、boolean -> Boolean、char -> Char;

    • b)、包装器常用方法

      • i. 包装器类.valueof();
      • ii. 包装器类.(基本数据类型)XXXValue():intValue() booleanValue()等;
      • iii. 包装器类.parseXXX(基本数据类型):parseInt() parseFloat();
        //使用包装器的静态的valueOf方法实现    int i = 123;    Integer in = Integer.valueOf(i);    //使用包装器的静态的xxxValue方法实现    int wi1 = integer.intValue();    //包装器的parseXXX方法可以实现字符串到基本数据类型的转换    String string = "12345";    int is = Integer.parseInt(string);
    • c)、自动装箱、自动拆箱

      • i. 自动装箱:直接把基本数据类型的变量包装器类型的对象,java编译器会自动完成这个过程;Integer a=1;
      • ii. 自动拆箱:把包装器类型的对象赋给基本数据类型的变量;int b =new Integer(5);
        //自动装箱    Integer integer = 123;    //自动拆箱    int wi = new Integer(123);
    • d)、包装器的池操作

      Integer a1 = 127;Integer a2 = 127;System.out.println(a1==a2);//trueInteger a3 = 128;Integer a4 = 128;System.out.println(a3==a4);//false

        存在缓存操作,-128~127会被缓存,超过127会重新创建对象,而引用变量”==”比较的是虚地址,因此范围以内的是虚地址相等的,范围以外的是新创建,所以不等。

转载地址:https://blog.csdn.net/qq_29593573/article/details/72853963 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:String
下一篇:TX2 Ubuntu 系统默认root用户登录 (永久权限)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月24日 03时17分45秒