9.1String类

单个字符可以用char类型保存,多个字符组成的文本就需要保存在String对象中。String通常被称为字符串,一个String对象最多可以保存(2*32-1)个字节(占用4GB空间大小)的文本内谷。本节将详细讲解String类的使用方法。

9.1.1声明字符串

在Java语言中,字符串必须包含在一对双引号("")之内。例如:

"23.23"、"ABCDE"、"你好"

以上这些都是字符串常量,字符串常量可以是系统能够显示的任何文字信息,甚至可以是单个字符。

误区警示:

在Java中由双引号("")包围的都是字符串,不能作为其他数据类型来使用,如"1+2"的输出结果不可能是3。

可以通过以下语法格式来声明字符串变量:

String str;

☑ String:指定该变量为字符串类型。

☑ str:任意有效的标识符,表示字符串变量的名称。

声明字符串变量s,代码如下:

String s;
说明:

声明的字符串变量必须经过初始化才能使用,否则编译器会报出"变量未被初始化错误"。

9.1.2创建字符串

在Java语言中,将字符串作为对象来处理,因此可以像创建其他类对象一样来创建字符串对象。创建对象要使用类的构造方法。String类的常用构造方法如下。

1.String(char a[])

该方法用一个字符数组a创建String对象,代码如下:

char a[] = {'g','o','o','d'};

String s = new String(a);

等价于String s = new String("good");

2.String(char a),int offset,int length)

该方法提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。代码如下:

char a[] = {'s',t,u,'d','e','n','t'};

String s = new String(a,2,4);

等价于String s = new String("uden");

3.String(char[] value)

该构造方法可分配一个新的String对象,使其表示字符数组参数中所有元素连接的结果。代码如下:

char a[] = {'s',t,u','d,'e','n't};

String s = new String(a);

等价于String s = new String("student");

除通过以上几种使用String类的构造方法来创建字符串变量外,还可通过将字符串常量的引用赋值给一个字符串变量来创建字符串。代码如下:

String str1,str2;

str1 = "We are students";

srt2 = "We are students";

此时,str1与str2引用相同的字符串常量,因此具有相同的实体,内存示意图如下:

We are students

相关推荐
测试员周周3 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
Mahir086 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
杜子不疼.6 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号36 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia7 小时前
Qt——编辑交互功能的实现
开发语言·qt
RyFit7 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码7 小时前
C++ 内存分区 堆区
java·开发语言·c++
心中有国也有家7 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
绝知此事7 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海7 小时前
C# 隐式转换深度解析
java·开发语言·c#