字符串操作和数组工具

StringBuffer的使用

StringBuffer类的简单叙述:
        我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题,线程安全的可变字符序列

StringBuffer的构造方法与方法

构造方法介绍:
    public StringBuffer():                     无参构造方法
        用来创建StringBuffer对象。
    public StringBuffer(int capacity):         指定默认容量不写默认是16
        public StringBuffer(String str):       指定字符串内容
        
StringBuffer的方法(字符串的好多方法和StringBuffer相同):
    public int capacity():                返回当前容量(如果构造函数里有传大小则返回指定的大小没有则返回默认容量16)
        public int length():返回长度(字符数)。  实际值
    案例演示
    public static void main(String[] args) {
        StringBuffer str1 = new StringBuffer();
        System.out.println("str1.capacity() = " + str1.capacity());
        StringBuffer str = new StringBuffer(8);
        System.out.println("str.length() = " + str.length());
        System.out.println("str.capacity() = " + str.capacity());
        str.append("hellojava!are you OK?");
        System.out.println("str.length() = " + str.length());
        System.out.println("str.capacity() = " + str.capacity());
    }
    输出结果:
        str1.capacity() = 16
        str.length() = 0
        str.capacity() = 8
        str.length() = 21
        str.capacity() = 21
        A:StringBuffer的添加功能
    public StringBuffer append(String str):         可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
    注意:
        append()方法可以传很多类型的参数具体什么可以查看相关文档。
    public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
    public char charAt(int index)                  和字符串的方法相同
    public void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
                                                   和字符串用法相同
    例子:
        char[] a={'1','2','2','4'};
        String b="sadasdsadas";
        b.getChars(1,3,a,0);
        System.out.println(Arrays.toString(a));
    输出结果:
        [a, d, 2, 4]
    public StringBuffer insert(int offset,xxxxx)  插入某个类型的内容到字符串指定索引的位置
    public StringBuffer reverse()                 翻转
    public StringBuffer deleteCharAt(int index)   删除指定位置的字符,并返回本身
    public StringBuffer delete(int start,int end) 删除从指定位置开始指定位置结束的
    public StringBuffer replace(int start,int end,String str):  从start开始到end用str替换
    public String substring(int start):         从指定位置截取到末尾
    public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置

StringBuffer和String的相互转换

String转成StringBuffer
    1.通过StringBuffer(str)来进行转换。
    2.通过append()方法   其实还是先通过空参构造创建对象然后在append()进去字符串。
StringBuffer转换成String
    1.使用subtring()方法
    2.通过构造方法   即通过String(StringBuffer对象)实现。
    3.通过toString()方法

Arrays类的概述和方法使用

成员方法:
    public static String toString(int[] a)
    public static void sort(int[] a)
    public static int binarySearch(int[] a,int key)
    static boolean equals(int[] a, int[] a2) 比较两个数组中的元素,是否一样
    static int[] copyOf(int[] original, int newLength)  复制旧数组中的元素到一个新的数组中,新的数组长度是newLength 从0开始复制旧数组
    static int[] copyOfRange(int[] original, int from, int to) 复制旧数组中的指定范围间的几个元素到新数组中
    public static int binarySearch(int[] a,int key)  使用二分搜索查找出索引
    public static String deepToString(Object[] a)   和toString用法是一样的但是这个用于多位数组

包装类

为什么会有基本类型包装类:
    为了对基本数据类型进行更多的操作,更方便的操作,java就针对每一种基本数据类型提供了对应
基本类型和包装类的对应:
    byte            Byte
    short           Short
    int        Integer
    long            Long
    float           Float
    double          Double
    char            Character
    boolean         Boolean
这里只用Integer类来做演示其他的都一样:
    静态字段有:
        MAX_VALUE    值为 231-1 的常量,它表示 int 类型能够表示的最大值。
        MIN_VALUE    值为 -231 的常量,它表示 int 类型能够表示的最小值。
        SIZE         用来以二进制补码形式表示 int 值的比特位数。
        TYPE         表示基本类型 int 的 Class 实例。
        max          比较大小取最大
        min          比较大小取最小
    构造方法:
        public Integer(int value)   构造一个新分配的 Integer 对象,它表示指定的 int值。
        public Integer(String s)    构造一个新分配的 Integer 对象,它表示String 参数所指示的int值(举例:"12314"而不能是"sa2312")
    方法:
        public int compareTo(Integer anotherInteger)  如果该 Integer 等于 Integer 参数,则返回 0 值;如果该 Integer 在数字上小于 Integer 参数,则返回小于 0 的值;如果 Integer 在数字上大于 Integer 参数,则返回大于 0 的值(有符号的比较)。
        public static int parseInt(String s)    静态方法,将字符串转换成整型
        public static String toBinaryString(int i)  以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
        public static String toHexString(int i)     以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
        public static String toOctalString(int i)   以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
        public static Integer valueOf(int i)        返回一个表示指定的 int 值的 Integer 实例。
        public static Integer valueOf(String s)     返回保存指定的 String 的值的 Integer 对象。

String和int类型的相互转换

int转String:
    1.使用+"" 进行拼接
    2.使用 String.valueOf(int x)进行转换
    3.int转换成Integer,再转成String
    4.使用Integer.toString(int x)进行转换
String转成int
    1.先把字符串转换成Integer对象,然后再将Integer对象通过intValue()方法转换成int
    2.使用Integer.parseInt()方法进行转换
    

自动拆装箱

JDK5的新特性
    自动装箱:把基本类型转换为包装类类型
    自动拆箱:把包装类类型转换为基本类型
案例演示:
    Integer ii = 100;
    ii += 200;
    此过程是ii先进行了装箱生成ii对象,然后ii+=200进行拆箱进行加运算运算完然后再进行装箱。
    注意事项:
        在使用时,Integer  x = null;代码就会出现NullPointerException。
        建议先判断是否为null,然后再使用。
        还有特别重要的就是自动封装当int自动封装成Integer的时候会调用Integer.valueOf()方法,该方法回去缓存池中先去找如果是在(-128~127)范围之内就不会要再去new对象了直接使用缓存中已经创建好了的对象就行.

Character使用

常用方法:
    public static boolean isDigit(char ch)       确定指定字符是否为数字。
    public static boolean isLetter(char ch)      确定指定字符是否为字母。 
    public static boolean isUpperCase(char ch)   确定指定字符是否为大写字母。 
    public static boolean isLowerCase(char ch)   确定指定字符是否为小写字母。
    public static boolean isWhitespace(char ch)  确定指定字符依据 Java 标准是否为空白字符。当且仅当字符满足以下标准时,该字符才是一个 Java 空白字符: cha
    public static String toString(char c)        返回一个表示指定char值的String对象。结果是长度为1的字符串,仅由指定的char组成。 
    

猜你喜欢

转载自www.cnblogs.com/project-zqc/p/11756381.html
今日推荐