Java从入门到项目实战(全程视频版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

7.1 String类对象实例化

img

在Java中并没有字符串这一数据类型的存在,但是考虑到程序开发的需要,所以通过设计的形式提供了String类,并且该类的对象可以通过直接赋值的形式进行实例化操作。

范例:通过直接赋值的形式为String类对象实例化

img

Java程序中使用“"”声明的内容都是字符串,本程序采用直接赋值的形式实现了String类对象实例化。

提示:观察String类的源代码实现

程序中对于字符串的实现都是通过数组的形式进行保存的,所以对于String类的内部也会保存有数组内容,这一点可以通过String类的源代码观察到(源代码目录:JAVA_HOME\lib\src.zip)。

img

为了方便读者比对JDK版本,在此给出了JDK 1.8以前和JDK 1.9之后的String类内部数组定义形式,可以发现JDK 1.9之后String类中的数组类型为byte。这样就可以得出一个结论:字符串就是对数组的一种特殊包装应用,而对数组而言最大的问题在于长度固定。

String本身属于一个系统类,除了可以利用直接赋值的形式进行对象实例化之外,同时也提供了相应的构造方法进行对象实例化,构造方法定义如下。

String类构造方法:public String(String str)。

范例:通过构造方法实例化String类对象

img

利用构造方法实例化String类对象可以采用标准的对象实例化格式进行处理操作,这种方法更为直观,其最终的结果与直接赋值效果相同。但是两者之间是有本质区别的,下面将逐步进行详细分析。