初识Java神秘成员:String类 | 带你学《Java面向对象编程》之二十六

上一篇:复杂中的艺术-复杂多对多映射 | 带你学《Java面向对象编程》之二十五
【本节目标】
通过阅读本节内容,你将初步了解String类的相关概念,并学会对String类型数据的简单定义与操作。
在实际的开发之中没有一个项目不去使用String类,也就是说String是整个系统开发之中一个至关重要的组成类,在Java程序中所有的字符串都要求使用“””进行定义,同时也可以利用“+”实现字符串的连接处理,但是对于String类还有其自身的特点。本次将进行String类的特点分析。

String类简介

字符串严格意义上来讲并不能算是一个基本数据类型,也就是说没有任何一门语言会提供有字符串这种数据类型的,而在Java中为了方便开发者进行项目的编写,所以利用其JVM的支持制造了一种可以简单使用的String类,并且可以像基本数据类型那样进行直接的赋值处理。
范例:String类对象实例化

public class StringDemo {
    public static void main (String args[]) {
        String str = “www.mldn.cn” ;   //直接赋值
        System.out.println(str) ;
    }
}

初识Java神秘成员:String类   | 带你学《Java面向对象编程》之二十六
图一 执行结果一

但是需要注意的是,String这个类中之所以可以保存字符串主要的原因是其中定义了一个数组,也就是说,在String中所有的字符串中的每一个字符的数据都是保存在了数组之中。
提示:观察String类的源代码实现

  • 源代码目录:D:Javajdk-10libsrc.zip;
  • JDK1.9之后实际上针对于字符串的定义形式增多了要比JDK1.8多,类的数量对比如下:

初识Java神秘成员:String类   | 带你学《Java面向对象编程》之二十六
图二 JDK版本对比

  • 从JDK1.9开始String类之中的数组类型采用了byte类型,JDK1.9之前使用的都是字符数组。
JDK1.8以前String保存的是字符数组: JDK1.9及以后String保存的是字节数组:
private final char value[]; private final byte[] value;

原来所谓的字符串就是对数组的一种特殊包装应用,但是同时也应该清楚一点,既然包装的是数组,所以字符串中的内容肯定是无法改变的。
另外需要注意的是,在String类里面除了可以使用直接赋值的形式为对象进行实例化之外,也可以利用传统形式利用构造方法进行对象的实例化处理:public String(String str) ;
范例:利用构造方法进行实例化

public class StringDemo {
    public static void main (String args[]) {
        String str = new String(“www.mldn.cn”) ;  
        System.out.println(str) ;
    }
}

初识Java神秘成员:String类   | 带你学《Java面向对象编程》之二十六
图三 执行结果二

String本身包装的是一个数组,并且其有两种对象的实例化形式:直接赋值、构造方法实例化。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:旋转跳跃-学会操作String类数据 | 带你学《Java面向对象编程》之二十七
更多Java面向对象编程文章查看此处

上一篇:隔壁女神泡不到?那是你没用到python仿抖音表白神器


下一篇:Netty入门 -- 什么是Netty?