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

简介: 本节将为读者介绍Java世界必不可少的特殊数据类型:String类。

上一篇:复杂中的艺术-复杂多对多映射 | 带你学《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) ;
    }
}

image.png
图一 执行结果一

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

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

image.png
图二 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) ;
    }
}

image.png
图三 执行结果二

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

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

相关文章
|
3月前
|
Java 编译器 API
Java 密封类:精细化控制继承关系
Java 密封类:精细化控制继承关系
282 83
|
16天前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
167 101
|
16天前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
193 100
|
2月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
300 120
|
2月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。
|
2月前
|
存储 安全 Java
Java集合框架(一):List接口及其实现类剖析
本文深入解析Java中List集合的实现原理,涵盖ArrayList的动态数组机制、LinkedList的链表结构、Vector与Stack的线程安全性及其不推荐使用的原因,对比了不同实现的性能与适用场景,帮助开发者根据实际需求选择合适的List实现。
|
3月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
237 14
|
3月前
|
Java API
深入解析Java API中Object类的功能
了解和合理运用 Object类的这些方法,对于编写可靠和高效的Java应用程序至关重要。它们构成了Java对象行为的基础,影响着对象的创建、识别、表达和并发控制。
66 0
|
3月前
|
安全 Java
JAVA:Collections类的shuffle()方法
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的工具方法,适用于洗牌、抽奖等场景。该方法直接修改原列表,支持自定义随机数生成器以实现可重现的打乱顺序。使用时需注意其原地修改特性及非线程安全性。
135 0

热门文章

最新文章