Java 中 String、StringBuffer、StringBuilder 类
2020-12-13 15:16
标签:controls har 常量池 转换 end 位置 的区别 bytes rev 一、String类 1、须知 本质:字符串的本质是一个字符的数组。 String s3 = "abc" 和 String s4 = new String("abc")的区别; String s3 = "abc": 以字符数组的形式存在堆中的常量池中,在常量池分配地址。 String s4 = new String("abc"): 首先在常量池出现,分配地址,然后再堆中开辟空间,并为此空间赋值,分配地址,此空间存的是在常量池中的地址。 2、构造函数 String str = new String (byte[] bytes):改参数为字节数组,对应 ASCII码表 。 String str = new String (byte[] bytes,int offset,int length):第一个参数:字节数组,第二个参数:传入字节数组的开始索引,第三个参数:传入字节数组索引位置,截取多少位。 String str = new String (char[] chars)::改参数为字符数组。 String str = new String (char[] char,int offset,int length):第一个参数:字符数组,第二个参数:传入字符数组的开始索引,第三个参数:传入字符数组索引位置,截取多少位。 3、常用方法 length():获取字符串的长度。返回int substring(int startIndex,[ intEndIndex ]):截取字符串,第一个参数:开始截取字符串的索引,第二个参数:不写,截取到最后,写截取到的索引位置, (包头不包尾) 。返回 String startsWith(String str):判断该字符串是不是以指定子字符串开始 返回Boolean endsWith(String str):判断该字符串是不是以指定子字符串开始 返回Boolean contains(String str):判断大字符串是不是包含小字符串 返回Boolean indexOf(String str):判断该小字符串在大字符串第一次出现的索引位置 返回int getBytes():使用: byte[] bytes = str.getBytes() ; 将指定字符串转字节数组 toCharArray():使用:char[] chars = str.toCharArray();将指定字符串转字符数组 equals(Object obj) :判断两个字符串是不是内容一样 返回Boolean; equalsIgnoreCase(Object obj):判断两个字符串是不是内容一样 ,但是不区分大小写 返回Boolean; 二、StringBuffer 类 可变字符串: 1、StringBuffer 和 String 的转换; String 转 StringBuffer :StringBuffer sb = new StringBuffer(String str); StringBuffer 转 String :String str = sb.toString(); 2、常用方法 append(Object obj):在后边追加指定字符串。 delete(int startIndex,int endIndex):删除指定索引位置的字符串。 insert(int Index,String str):在指定索引位置插入指定字符串 replace(int startIndex,int endIndex,String str):将指定索引区域的字符串替换指定字符串 reverse():将字符串反转 以上方法返回的都是 StringBuffer 类型的对象 所以可以链式编程 StringBuilder类:拥有和 StringBuffer 类一样的方法,但是效率由于 StringBuffer Java 中 String、StringBuffer、StringBuilder 类 标签:controls har 常量池 转换 end 位置 的区别 bytes rev 原文地址:https://www.cnblogs.com/yanghaoyu0624/p/11577131.html
文章标题:Java 中 String、StringBuffer、StringBuilder 类
文章链接:http://soscw.com/essay/34965.html