Arrays.toString() 的用法以及StringBuffer与StringBuider的区别
在Java编程输出数组,若是直接输出会发现得到的是一些地址,类似于 [Ljava.lang.String;@67b64c45。此时就需要调用Arrays.toString()了!
Java字符串用法中的StringBuffer与StringBuider区别也比较容易混淆,下面是我的一些笔记!
Arrays.toString()
public class Employee {
public static void main(String [] args)
{
String str = "x_u_m_c";
String A[] = str.split("_");
System.out.print(A);
}
//[Ljava.lang.String;@67b64c45
public class Employee {
public static void main(String [] args)
{
String str = "x_u_m_c";
String A[] = str.split("_");
System.out.print(Arrays.toString(A));
}
//[x, u, m, c]
原因在于在Java中数组不能够直接输出,当然了,你可以使用for循环遍历输出数组
public class Employee {
public static void main(String [] args)
{
String str = "x_u_m_c";
String A[] = str.split("_");
for(int i=0;i<A.length;i++)
{
System.out.println(A[i]+"");
}
}
//x u m c
而借助Arrays.toString() 可以直接输出数组,不用遍历了!
StringBuffer
String的值一旦确定就不可变,而且每次对String进行操作时,都会生成新的对象,效率低,占用大量的内存,对少量数据操作时可以使用!
StringBuffer类在内部的实现方式和String不一样,在对StringBuffer进行操作时,不会生成新的对象,不会占用大量内存!StringBuffer和String创建对象方式不一样,它必须得通过new来创建对象,默认分配16字节长度的缓冲区!当字符串超过该大小时,会自动增加缓冲区长度,而不是生成新的对象。
StringBuffer str = new StringBuffer();
StringBuffer str1 = new StringBuffer("xmc");
StringBuffer类的方法和Python中的list比较类似!
- append()
用于向字符串末尾添加内容!
StringBuffer str = new StringBuffer("xmc");
str.append(is);
//xmcis
- deleteCharAt()
用于删除指定位置的字符
StringBuffer str = new StringBuffer("xmcis");
str.deleteCharAt(3,5)//删除索引值3~5之间的值,不包括5
//xmc
- setCharAt()
用来修改指定位置的字符
StringBuffer str = new StringBuffer("xmcis");
str.setCharAt(3,'p');
//xmcps
- insert()
用来在指定位置插入字符串
StringBuffer str = new StringBuffer("xmc");
str.insert(2,"is")
//xmcis
StringBulider
StringBuilder类和StringBuffer类的功能基本相同,用法基本差不多,区别在于StringBuffer类的方法是多线程安全的,而StringBuilder是单线程线程安全的!
总结
在对少量数据进行操作时使用String类,在对大量数据且是多线程时使用StringBuffer类,在对大量数据且是单线程时使用StringBulider类!
上一篇: java Arrays.toString
下一篇: C++数据结构中算法的使用
推荐阅读
-
Arrays.toString() 的用法以及StringBuffer与StringBuider的区别
-
Mabitis中的#与$符号区别及用法介绍
-
JAVA中Arrays.deepToString()与Arrays.toString()的区别
-
Arrays.deepToString()与Arrays.toString()的区别
-
详解Java异常处理中throw与throws关键字的用法区别
-
深入解析Java编程中的StringBuffer与StringBuider
-
深入解析Java编程中的StringBuffer与StringBuider
-
Java 中 String,StringBuffer 和 StringBuilder 的区别及用法
-
Java中equals与==的用法和区别
-
php中替换字符串函数strtr()和str_repalce()的用法与区别