JAVA字符串

纵然是瞬间 提交于 2019-12-23 08:23:46

JAVA 字符串

  • java 提供了 String 类来创建和操作字符串。但是,String类不可变类,即一旦一个string 对象被创建后,包含在这个对象之中的字符序列时不可改变的,直至这个对象被销毁。
  • java 同时提供了两个可变字符串类 StringBuffer 和 StringBuildeer,两者功能基本相似,方法野差不多。不同的是,StringBufeffer 是线程安全的,而StringBuilder 则是没有实现线程安全功能,所以性能略高。

String类

直接定义字符串:

直接定义字符串是指使用双引号表示字符串中的内容,具体方法是用字符串常量直接初始化一个String对象,如下:

String str = "hello,world"
使用String类定义
  • String()初始化一个新创建的String对象,表示一个字符序列。
  • String(String original)初始化一个新创建的String对象,使其表示一个与参数相同的字符序列。
  • String(char [] value)分配一个新的字符串,将参数中的字符数组元素全部变为字符串。

StringBuilder类

java提供了两个可变字符串类StringBuffer 和StringBuilder。创建StringBuilder类的对象后可以随意修改字符串的内容。每个StringBuilder类的对象都能够存储指定容量的字符串,如果字符串的长度超过了StringBuilder类对象的容量,则该对象的容量会自动扩大。

StringBuilder构造方法

StringBuilder类提供了3个构造方法来创建一个字符串,如下所示:

  • StringBuilder()构造一个控的字符串缓冲区,并且初始化为16个字符容量。
  • StringBuilder(int length)创建一个空的字符串缓冲区,并且初始化为指定长度length的容量。
  • StringBuilder(String str)创建一个字符串缓冲区,并将其内容初始化为指定的字符串内容str,字符串缓冲区的初始容量为16加上字符串str的长度。
//定义一个空的字符串缓冲区,含有16个字符的容量
StringBuilder str1 = new StringBuilder();
//定义一个含有10个字符容量的字符串缓冲区
StringBuilder str2 = new StringBuilder(10);
//定义一个含有(16+4)的字符串缓冲区,“青春无悔”为四个字符
StringBuilder str3 = new StringBuilder("青春无悔");
/**
 *输出字符串的容量大小
 *capacity()方法返回字符串的容量大小
 */
 System.out.println(str1.capacity());//输出 16
 System.out.println(str2.capacity());//输出 10
 System.out.println(str3.capacity());//输出 20

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!