• Java StringBuilder、基本类型的包装类


    字符串的缓冲区StringBuilder

    1、介绍

      1、StringBuilder是一个可变的字符序列,好像是一个容器,因为在类中提供了修改私有成员变量的方法。
      常用的方法是append和insert,就是在StringBuilder对象本身上,进行修改操作。
      2、StringBuilder底层和String底层都是维护了一个字符数组,数组本身私有的,因为String类型没有向外暴露修改私有成           员的方法,所以不能修改,StringBuilder向外暴露了修改私有成员的方法,可以修改字符序列。

      3、StringBuilder和String都是用来描述字符串。
      4、String不可修改,长度也不可以改变
      5、StringBuilder可修改,长度也可以修改,比较灵活。
    2、 StringBuilder的构造方法
      StringBuilder():创建一个容器,初始容量为16
      StringBuilder(String str):创建了一个容器,初始空量为16+str.length()
      StringBuilder(int capacity):创建了一个容器,初始容量为capacity
      capacity():获取当前容器的大小
      length():获取当前容器中的字符个数
      自动扩容
    3、添加功能
      1.append(任意类型):可以将任意数据类型,转成字符串,添加到容器中。
      2.insert(int index,任意类型):可以将任意类型添加到指定的位置。
    4、删除功能
      1.StringBuilder delete(int start, int end):包含头不含尾
      2.StringBuilder deleteCharAt(int index)
    5.替换和反转功能
      1.replace()
      2.reverse()
    6、String和StringBuilder拼接字符串的区别
      1.使用String类型接拼字符串:时间和空间上都非常浪费。

        String str = "abc";
        str+="abc";
      2.使用StringBuilder拼接字符串的时候,就是往容器不断地添加,
      3.String和StringBuilder的类型转换
        1. String转成StringBuilder
          StringBuilder的构造方法
          append方法
        2. StringBuilder转成String
          toString()方法
          String()的构造方法
    7、StringBuffer和StringBuilder的区别
      1.共同点
        都是字符串的缓冲区,都是字符串的容器,都是可变的字符串列。
      2.不同点
        1.出现版本不同:
          StringBuffer在jdk1.0出现
          StringBuilder在jdk1.5出现
        2.线程安全不同:
          StringBuffer是线程安全的,在多线程环境下仍然保持数据安全
          StringBuilder是线程不安全的,在多线程下无法保证线程据安全
        3.效率不同
          StringBuffer的效率低
          StringBuilder的效率高

    public class Demo01 {
    
        public static void main(String[] args) {
            String str = "abc";
            update(str);
            System.out.println(str);//abc
    
        }
    
        private static void update(String str) {
            str = "xyz";
            System.out.println(str);//xyz
            
        }
    
    }
    String和StringBuilder作为方法的参数1
    public class Demo06 {
    
        public static void main(String[] args) {
            StringBuilder sb = new StringBuilder("abc");
            update(sb);
            System.out.println(sb);//abc
    
        }
    
        private static void update(StringBuilder sb) {
            sb = new StringBuilder("xyz");
            System.out.println(sb);//xyz
            
        }
    
    }
    String和StringBuilder作为方法的参数2
    public class Demo03 {
    
        public static void main(String[] args) {
            StringBuilder sb = new StringBuilder("abc");
            update(sb);
            System.out.println(sb);//xyz
            
    
        }
    
        private static void update(StringBuilder sb) {
            sb.replace(0, sb.length(), "xyz");
            System.out.println(sb);//xyz
            
        }
    
    }
    String和StringBuilder作为方法的参数3

    基本类型的包装类

    1、包装类
      1、基本数据类型有八种,都是非常简单的数据类型。
      2、在这些类型中,只能表示简单的数据,不能包含一些对数据的操作,没有办法 存储描述这些数据的崆,需一个
      引用数据类型,能将基本数据类型进行包装,提供一些操作基本类型的方法,定义一些描述数据的数据。
      3、基本类型的包装类
        byte Byte
        short Short
        int Integer
        long Long

        float Float
        double Double

        char Character

        boolean Boolean

    2、Integer类
      1.以Integer举例,举一反三
      2.Integer类型的对象中,维护了一个私有成员的变量,是一个int类型。
      3.提供了在int,Integer,String类型之间相互转换的方法
      4.提供了一些常量
     Integer的构造方法
      Integer(int value)
        构造一个新分配的 Integer 对象,它表示指定的 int 值。
      Integer(String s)
        构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
     Integer类型的成员方法
        1.xxxValue():可以将Integer类型的对象,转成其它的基本数据类型
        2.常用静态方法
          static int parseInt(String s):将字符串以十进制的方式解读为一个int类型
          static int parseInt(String s, int radix): 将字符串以radix的方式解读为一个int类型
          static String toBinaryString(int i):使用二进制的表示方式来表示数字
          static String toOctalString(int i)
          static String toHexString(int i)
          String toString()
          static Integer valueOf()
     Integer类型的常量
      static int MAX_VALUE
        值为 2**31-1 的常量,它表示 int 类型能够表示的最大值。
      static int MIN_VALUE
        值为 -2**31 的常量,它表示 int 类型能够表示的最小值。
      static int SIZE
        用来以二进制补码形式表示 int 值的比特位数。
      static Class<Integer> TYPE
        表示基本类型 int 的 Class 实例。
     Integer,int,String类型互相转换的总结
      1.Integer转为int类型
        intValue()
      2.int转为Integer类型
        构造方法
      3.Integer转为String的类型
        toString()
      4.String转为Integer
        构造方法
        valueOf()
      5.int转为String
        Integer.toString(int i)
        5+" "
      6.String转为int类型
        Integer.parseInt(String str);
     自动装箱和拆箱(JDK1.5之后)
       装箱:基本数据类型转换包装类
       拆箱:包装类转为基本数据类型

    public class Demo03 {
    
        public static void main(String[] args) {
            Integer it = 100;//自动装箱 new Integer(100)
            
            int i = it;//自动拆箱  100
            
            int result = it + 200;//自动拆箱
            
            
            
            
    
        }
    
    }
    自动装箱拆箱

     

  • 相关阅读:
    转载:生产级实践之集群搭建方案系列PostgreSQL主从部署搭建与配置 规格严格
    在my.cnf中设置lower_case_table_names = 1 无效的解决方法【转载】 规格严格
    Druid sql解析 规格严格
    powa 规格严格
    【snmp】snmpwalk 指定端口 规格严格
    Chrome您的连接不是私密连接解决办法 规格严格
    MEF程序设计指南九:重组(Recomposition)MEF部件
    MEF程序设计指南八:部件生命周期(Parts Lifetime)托管
    项目管理学习笔记二:信息系统服务管理
    项目管理学习笔记一:信息化知识
  • 原文地址:https://www.cnblogs.com/xfdhh/p/11182266.html
Copyright © 2020-2023  润新知