Java常用类--String类--上

String类

String类介绍

(1)创建的每个字符串实际上都是String类的对象。即使是字符串字面值实际上也是String对象。

(2)String类型的对象是不可变的;一旦创建了一个String对象,其内容就不能再改变。即,一旦创建了一个String对象,就不能改变该字符串包含的字符。

所谓String类型对象中的字符串是不可改变的,是指创建了String实例后不能修改String实例的内容。但是可以修改String引用变量,使其指向其他String对象。

当每次需要已存在字符串的修改版本时,会创建包含修改后内容的新String对象。原始字符串仍然没有改变。使用这种方法的原因是,实现固定的、不能修改的字符串与实现能够修改的字符串相比效率更高。

(3)对于那些需要能够修改的字符串的情况,Java提供了两个选择:StringBuffer和StringBuilder。这两个类都包含在创建之后可以进行修改的字符串。

(4)String、StringBuffer和StringBuilder类都是在java.lang包中定义的。这三个类都实现了CharSequence接口。

注意:API文档的使用

String类的构造方法

String();  //创建不包含内容的字符串对象

String(char[ ] chars)

String(char[ ] chars, int startIndex, int numChars)

String(String strObj)

还可以直接使用字符串字面创建String对象:String str = “abc”;

示例:StringMakeDemo

注意:没有使用单位字符作为参数的构造器。

//String(char c);

说明:

因为会为字符串字面值创建String对象,所以在能够使用String对象的任何地方都可以使用字符串字面值。

System.out.println("abc".length());

字符串比较

字符串相等性比较

String类重写了equals()方法,重写后的方法比较两个字符串对象的内容是否相同。

运算符“==”比较两个String引用是否指向同一个String对象。

示例:StringCompareDemo

其他比较方法

boolean  equalsIgnoreCase(String  str)

将此String与另一个String比较,不考虑大小写。

将此 String 与另一个 String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。

boolean  endsWith(String  suffix)

测试此字符串是否以指定的后缀结束。

boolean  startsWith(String  prefix)

测试此字符串是否以指定的前缀开始。

int  compareTo(String  str)

按照字典顺序比较两个字符串。

其中,str是将要与调用String对象进行比较的String对象。返回的比较结果及其解释如下所示:

含  义

小于0

调用字符串小于str。

大于0

调用字符串大于str。

0

两个字符串相等。

int  compareToIgnoreCase(String  str)

按字典顺序比较两个字符串,不考虑大小写。

字符串连接

String  str1 = “abc” ;

String  str2 = “def”;

String  str3 = “hij”;

String  str1 = str1 + str2;

String类型的引用,指向的字符串对象是不能修改的。

String表示不可变的字符串,只要创建了字符串对象,那么这个对象的内容就不能再改变。

API里面是否有拼接方法?

str1.concat(str2)

字符串查找

案例:StringSearchDemo

1.boolean  contains(CharSequence  s)

当且仅当此字符串包含指定的char值序列时,返回true。

CharSequence  表示字符串序列,是String的父类

2.int  indexOf(int  ch)和int  indexOf(String  str)

返回指定字符/子串第一次出现处的索引。

3.int  lastIndexOf(int  ch)和int  lastIndexOf(String  str)

返回指定字符/子串最后一次出现处的索引。

说明:

(1)当没有字符/子串没有出现时,返回值为-1。可以使用该方法判断字符/子串是否存在。

(2)可以使用下面这些重载形式指定查找的开始位置:

int indexOf(int ch, int startIndex)

int lastIndexOf(int ch, int startIndex)

int indexOf(String str, int startIndex)

int lastIndexOf(String str, int startIndex)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/859801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【华为OD机试】Linux发行版的数量(C++ Java JavaScript Python )

题目 题目描述 Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联。 发行版集是一个或多个相关存在关联的操作系统发行版,集合内不包含没有…

kafka基础概念

目录 1、kafka简介 2、kafka使用场景 3、kafka基础概念 3.1、消息 3.1.1、消息构成详解 3.1.2、消息存储设计 3.2、topic 3.3、partition 3.4、offset 3.5、replication 3.5.1、replication简介 3.5.2、副本角色 3.5.3、副本类型 3.5.3.1、副本类型简介 3.5.3.2、…

30分钟学习如何搭建扩散模型的运行环境【pytorch版】【B站免费视频教程!】【解决环境搭建问题】

30分钟学习如何搭建扩散模型的运行环境【B站免费视频教程!】【解决环境搭建问题】 动手学习扩散模型 点击以下链接即可进入学习: B站免费视频教程环境配置安装(配套讲解文档) 视频 讲解主要内容 一、环境设置 1.本地安装&…

用Python设置Excel工作表网格线的隐藏与显示

Excel表格界面的直观性很大程度上得益于表格中的网格线设计,这些线条帮助用户精确对齐数据,清晰划分单元格。网格线是Excel界面中默认显示的辅助线,用于辅助定位,与单元格边框不痛,不影响打印输出。然而,在…

fyne的对话框

对话框 import "fyne.io/fyne/v2/dialog"dialog包 定义了应用程序GUI的标准对话框窗口。 NewError NewError()为应用程序错误在指定的窗口上创建一个对话框。该消息是从提供的错误中提取的(不应为nil)。创建后,您应该调用Show()…

gpu测试渲染网站有哪些?免费GPU渲染平台介绍

GPU作为渲染领域的核心硬件,对于提高渲染速度和质量起着决定性作用。尽管购买高性能GPU的成本相对较高,但是通过GPU云渲染平台,用户可以以较低的成本享受到高效渲染服务的便利。现在,探索一些提供免费试用的GPU云渲染服务网站&…

深入理解DB2中的日志管理与监控:SYSIBMADM.LOG_UTILIZATION和SYSIBMADM.SNAPDB视图

深入理解DB2中的日志管理与监控:SYSIBMADM.LOG_UTILIZATION和SYSIBMADM.SNAPDB视图 DB2是一个强大的关系数据库管理系统,日志管理和监控是其运维管理的重要组成部分。本文将深入探讨两个关键的系统管理视图:SYSIBMADM.LOG_UTILIZATION 和 SY…

怎么查找企业的经营动态信息?

很多人都会查询企业的经营动态,比如很多投资者会关注企业的财务状况,市场战略,经营决策等信息;职场上也需要了解竞争对手和合作伙伴的相关经营动态,新品发布,技术专利申请等等。还有一些行业研究人员需要了…

Qt源码阅读笔记:初步了解QtCore模块目录结构

Qt框架是一个跨平台的C应用程序框架,广泛用于开发图形用户界面程序以及用于无界面后台操作的工具和服务器。它由多个模块组成,其中QtCore模块提供了核心的非GUI功能。 QtCore 提供了元对象系统,扩展了c 在元对象系统的基础上,qt又…

14、电科院FTU检测标准学习笔记-录波功能2

作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…

光猫BOB 功率调测误差分析与校验指南

DDM(Digital Diagnostic Monitoring)数字诊断监控技术,是光模块中使用的技术,以便用户能够监控光模块的实时参数。这些参数包括工作温度、工作电压、工作电流、发射和接收光功率等,还可以显示模块的常规波长、速率、传…

工控机和电脑一直ping不通

问题 工控机和电脑通过网线直连,电脑端是USB-网口转换器,一直互相ping不通,反复确认两端的IP地址、子网掩码及路由配置是对的。 原因 具体原因不明。 解决办法 但是通过将电脑端网卡的速度和模式属性由原来的“自动检测”修改为“100 Mb…

KaTeX数学公式语法手册

文章目录 基础数学符号根号与对数求和与积分矩阵与行列式特殊符号与希腊字母基本算术运算与分数上标与下标求和与积矩阵与向量括号与大括号微积分符号希腊字母特殊函数括号与大括号分段函数、案例与对齐层叠与叠加更多高级用法 借鉴的文档: KaTeX 支持大部分 LaTeX 数学模式中的…

iptables规则生成脚本

清除防火墙规则,以实际情况为准 iptables -F && iptables -X && iptables -Z 自动生成iptables规则脚本,针对于k8s的nodeport端口需要同时drop容器内端口和映射端口,同时如果k8s master集群是高可用需要3个节点都设置防火墙…

解决 pandas 读取 SQL Server 中的数据时,遇到 varchar 属性的中文字符显示乱码的问题(新)

通用解决办法(通杀) 读取SQL server中的数据 import pandas as pd from sqlalchemy import create_engine# 根据实际情况修改服务器地址、数据库名、用户名和密码 server your_server_address database your_database_name username your_username pa…

持续增强国产适配 | 宁盾身份域管与南大通用、飞腾完成产品兼容性认证

随着党政、央国企、金融信创国产化改造日益深入,企业对国产 IT 基础设施生态兼容适配的需求日益迫切。为践行给企业提供“开箱即用”的交付体验承诺,宁盾身份域管持续增强多元异构产品的兼容适配。近日,宁盾身份域管与天津南大通用数据技术股…

电子设备抗震等级与电子设备震动实验

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139923445 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

solidworks安装教程 - 解决安装后服务不能自动启动问题

Solidworks安装教程,有些同学的电脑过于复杂,产生了正常的服务不能启动。 前面的有个重要的操作操作界面有,大家应该是执行了: 那么我们有变通的方法可以让这个服务启动: 1. cmd用管理员启动 2. 测试下如下命令是否…

electron-builder创建桌面应用

一、利用vue-cli创建vue项目 二、添加淘宝 electron 源,防止超时 //npm设置淘宝镜像 npm config set registry https://registry.npm.taobao.org/ //electron添加淘宝镜像 npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/三、 保存之后&…

web应用-Nginx学习笔记01-应用的组成结构,配置项的分类和理解

参考来源: 在线文档:Nginx开发从入门到精通,https://docs.pythontab.com/nginx/nginx-book/ 极客专栏:nginx核心100讲,作者:陶辉 书籍:《深入理解Nginx:模块开发与架构解析》第二章 参考来源&a…