JAVA入门基础StringBuffer,String,数组知识
程序员文章站
2022-08-18 08:53:18
JAVA第十一天学习StringBuffer类StringBuffer sb=new StringBuffer(); 创建一个空的字符容器,初始容量为16个字符,在构建时就可以创建容器的容量 StringBuffer sb=new StringBuffer(100)//创建一个初始容量为100的容器,在构建时也可以加入字符串StringBuffer sb=new StringBuffer(“dasd”) StringBuffer 重写了toString()方法,然后把容器中的数据转换成字符...
- StringBuffer类
-
StringBuffer sb=new StringBuffer(); 创建一个空的字符容器,初始容量为16个字符,在构建时就可以创建容器的容量 StringBuffer sb=new StringBuffer(100)//创建一个初始容量为100的容器,在构建时也可以加入字符串StringBuffer sb=new StringBuffer(“dasd”) StringBuffer 重写了toString()方法,然后把容器中的数据转换成字符串返回
-
sb.append(“abc”)//append()向容器中加入数据
-
int capacity=sb.capacity()//获取容器的容量
-
int length=sb.length();//获取容器的长度
示例:
public class MyTest { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); StringBuffer sb2 = sb.append("abc"); //append("abc"); 往容器中追加数据,返回的还是原来的那个容器对象。 System.out.println(sb==sb2);//true 两个是同一个对象 sb.append(100).append(200).append(true).append(new char[]{'a','b','c'});//因为返回的还是原来的对象所以可以采用链式编程给里面添加数据 System.out.println(sb);//打印:"abc100200trueabc" } }
-
String s="你好啊我爱你"; StringBuffer s1=new StringBuffer(s); int statr=s1.indexof("好");//获取好处的索引 StringBuffer ss=s1.replace(start,str.length(),"")//根据起始索引终止索引替换容器中的一部分内容,返回的是容器本身 StringBuffer reverse = s1.reverse(); System.out.println(reverse);//将容器中的内容反转,返回的还是同一个对象 String str2 = s1.substring(0, 5); //含头不含尾,截取容器中索引片段内的字符 返回的 System.out.println(str2);
-
将String转化为StringBuffer类
String str="abc";
方法一:
StringBuffer sb = new StringBuffer(str);//直接将字符串加入到容器中
方法二:
调用方法append()
StringBuffer sb2 = new StringBuffer();
sb2.append(str);
方法三:
调用方法insert()
StringBuffer sb3 = new StringBuffer();
sb2.insert(0,str);//在位置零出插入str
- 将StringBuffer类转化为String
StringBuffer sb = new StringBuffer("aaaaa");
方法一:
String s=sb.toString();//重写了toString()将其转化为字符串
方法二:
String ss=sb.subString(0);//从零开始截取容器中的数据
方法三:
String sss=new String(sb);//利用String的构造方法将其转化为字符串
-
String 类型作为参数传递,属于值传递。会这把字符串的值传递过去 StringBuffer类型可以看做传引用,会把地址传过去 示例: public class MyTest { public static void main(String[] args) { String str = "abc"; change(str); System.out.println(str);//abc StringBuffer sb = new StringBuffer("Hello"); change(sb); sb.reverse(); System.out.println(sb); //呵呵哈哈olleH } private static void change(StringBuffer sb) { sb.append("哈哈").append("呵呵"); } private static void change(String str) { str+="你好"; System.out.println(str); //abc你好 } }
-
StringBuffer与StringBuild的区别
StringBuffer 线程安全的字符序列,效率低
StringBuilder 一个可变的字符序列,线程不安全的,效率高,此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。
建议优先采用StringBuilder类,因为在大多数实现中,它比 StringBuffer 要快。
- 数组 的相关操作
int []arr={8,0,3,4,0,6,4};
int []aff2={1,2,3,4,0,6,5,7,9,8};
Arrays.sort(arr);//排序
System.out.println(Arrays.toString(arr));
int index=Arrays.binarySearch(arr,6);//二分查找
System.out.println(index)
boolean b=Arrays.equals(arr,arr2);//判断两个数组是否相等
System.out.println(b);
int []arr3=Arrays.copyOf(arr,3);//复制arr数组的三个元素,从头开始
int []arr4-Arrays.copyOfRange(arr,3,6);//从3索引开始6索引结束 复制arr数组到arr4 含头不含尾
System.out.println(Arrays.toString(arr3));
System.out.println(Arrays.toString(arr4));
本文地址:https://blog.csdn.net/Dhxy1030/article/details/107682763
下一篇: 数据库设计技巧奉送了