---String类---

在c语言中要使用字符串,只能通过字符指针或者字符数组,然后再通过函数进行各种操作,这种将变量和变量方法分开的方式显然不符合面向对象的编程,所以java中添加了String这个类

String类构造

而对于string有很多的方法

字符串长度的计算,.length()

String只是一种类,而字符串的储存其实是储存在字符数组中的

字符串之间的比较

如果用==直接比较,那么比较的就是俩字符串之间地址,若要比较俩字符串的值,那么就要使用

equals去比较,返回值是boolean类型

compareTo 返回值是int类型

若俩字符相同,那么就返回0 ,若不相同,就放回引用对象于参数字符的不同字符之间的差值

也就是one - two 对应的不同的就是 H - h 

字符串查找

得到字符串下标对应的字符,charAt(int)

indexOf(), 查找字符,若出现着放回第一次出现的位置,若没有着放回-1,参数也可以是字符串

会放回字符串对应的第一个字符所对应的位置

可以以在加一个整形类型的参数,表示重这个地方开始查找

第一个参数也可以传数字,会根据字符对应ascll码值进行查找

数字与字符串数字之间的转换

数字 ---> 字符串

valueOf()

字符串 ---> 数字

转为int类型 Integer.parseInt()

转为Double类型,Double.parseDouble()

 大小写转换

toLowerCase()        toUpperCase()

字符串转数组

toCharArray()字符串转数组

格式化创建数组

String.format()    将对应的参数插入占位符后的字符串就是最终初始化的字符串

字符串替换

replaceall 和 replacefirst

  第一个参数regex 是要替换的元素,第二个replacement是要替换成的元素

replaceall是替换所有的regex为replacement

replacefirst是替换第一个regex 为 replacement

replace和replaceall的结果一样,只不过replaceall支持正则表达式,而replace不支持

字符串拆分 split

以参数regex拆分放到数组中,会删除regex对应字符,若参数后面无数字参数,那么就会全部都拆开,若有数字参数,那么就会按该参数的值来确定分为多少组

字符串截取  substring(begin,end)

截取范围包前不包后

去掉俩边的空格        trim()

会保留中间的空格

字符串修改

String类在设计时就是不可修改的

字符串是常量,其值在创建后不能更改。

储存字符串的变量使用了private修饰,说明它不能被直接引用,而String类中也没有能直接修改value这个数组的方法,所以无法修改

而所有涉及字符串修改的代码都是新创建一个对象,将修改好的值放到新对象中,再把新对象赋给该变量

 

对于字符串的修改应该避免直接 += 这样会创建新对象效率底下

这时我们就可以借助StringBuffer 和 StringBuilder着俩个类

着俩个类内置的方法和String一样,且更多

可以使用append去在字符串末尾添加字符

使用insert在指定位置之前插入

使用delete删除字符

删除【HA ,ha)这个区间的字符

而这俩个的类的差别是StringBuffer更适合多线程工作,更安全

StiringBuilder为采用同步处理,属于线程不安全工作

若要频繁修改字符串那么可以考虑使用StiringBuilder

END

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UWB技术定位系统源码,智慧工厂人员定位系统,独特的射频处理,配合先进的位置算法

UWB技术定位系统源码,高精度人员定位系统源码,智慧工厂人员定位系统源码,室内定位系统源码 本套系统运用UWB定位技术,开发的高精度人员定位系统,通过独特的射频处理,配合先进的位置算法,可以有…

结构体对齐,与 触发 segment fault 为什么是 1024*132 ,而不是1024*128

1, 简单的小示例代码 按理说 malloc 的size 是 1024*128&#xff0c;这里却需要 1024*132才能及时触发 segmentation fault #include <stdlib.h> #include <stdio.h> #define SIZE 1024*131int main() {char *p 0;p malloc(SIZE);p[SIZE -1] a;free(p);printf(…

【Mongodb-02】springboot整合mongodb(详解)

springBoot整和mongodb 一&#xff0c;springboot整合mongodb1&#xff0c;依赖加入2&#xff0c;yml文件配置3&#xff0c;_class 字段过滤(可选)4&#xff0c;实体类定义5&#xff0c;索引创建6&#xff0c;数据插入6.1&#xff0c;insert方式6.2&#xff0c;使用save的方式实…

Elixir学习笔记——输入输出和文件系统

本章介绍输入/输出机制、文件系统相关任务以及相关模块&#xff08;如 IO、File 和 Path&#xff09;。IO 系统提供了一个很好的机会来阐明 Elixir 和 Erlang VM 的一些思维模式和新奇思想。 输入输出模块 输入输出模块是 Elixir 中读写标准输入/输出 (:stdio)、标准错误 (:s…

Linux 终端窗口设置为透明

Linux 终端窗口设置为透明 打开终端 右键鼠标 选择Profile Preferences 点击Background 选择 Transparent background 拖动滑条调整透明度 完成。

【机器学习】集成学习方法:Bagging与Boosting的应用与优势

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言一、集成学习的定义二、Bagging方法1. 随机森林&#xff08;Random Forest&#xff09;2. 其他Bagging方法 二、Boosting方法1. 梯度提升树&#xff08;Gradient Boosting Machine, GBM&#xff09;解释GBM的基本原理和…

笔记本开机原理

从按下开机键开始&#xff0c;机器是如何开到OS的呢&#xff1f;今天这篇文章和大家极少EC-BIOS-OS的整个开机流程。首先大家要对笔记本的基本架构有所了解&#xff0c;基本架构如下图所示&#xff08;主要组成部分为大写黑体内容&#xff09;。 一、按下PowerButton按钮&#…

手把手带你搞定用户权限控制 | 纯干货

在实际的软件项目开发过程中&#xff0c;用户权限控制可以说是所有运营系统中必不可少的一个重点功能&#xff0c;根据业务的复杂度&#xff0c;设计的时候可深可浅&#xff0c;但无论怎么变化&#xff0c;设计的思路基本都是围绕着用户、角色、菜单这三个部分展开。 如何设计…

Matlab的Simulink系统仿真(simulink调用m函数)

这几天要用Simulink做一个小东西&#xff0c;所以在网上现学现卖&#xff0c;加油&#xff01; 起初的入门是看这篇文章MATLAB 之 Simulink 操作基础和系统仿真模型的建立_matlab仿真模型搭建-CSDN博客 写的很不错 后面我想在simulink中调用m文件 在 Simulink 中调用 MATLA…

Git 基础操作(一)

Git 基础操作 配置Git 安装完Git后&#xff0c;首先要做的事情是设置你的 用户名 和 e-mail 地址。这样在你向仓库提交代码的时候&#xff0c;就知道是谁提交的&#xff0c;以及提交人的联系方式。 配置用户名和邮箱 使用git config [--global] user.name "你的名字&qu…

失眠焦虑?这些维生素或许能帮你找回好眠!

&#x1f4a4; 失眠、焦虑&#xff0c;是现代生活中不少人都可能遇到的问题。长期的失眠与焦虑&#xff0c;不仅影响身体健康&#xff0c;更会对精神状态造成不小的冲击。其实&#xff0c;除了调整作息和放松心情&#xff0c;适当的维生素补充也可能有助于改善这些症状。 &…

SpringCloud-远程调用OpenFeign-基本使用

目录 1 直接使用RestTemplate发起Http请求 1.1 将RestTemplate注册为SpringBean 1.2 在service实现类中注入RestTemplate 1.3 使用注入的RestTemplate 传入参数后发起http请求 2 引入Nacos后使用RestTemplate发起Http请求 2.1 基础知识 2.2 Nacos的使用 2.2.1 引入nac…

Hvv--知攻善防应急响应靶机--Linux2

HW–应急响应靶机–Linux2 所有靶机均来自 知攻善防实验室 靶机整理&#xff1a; 夸克网盘&#xff1a;https://pan.quark.cn/s/4b6dffd0c51a#/list/share百度云盘&#xff1a;https://pan.baidu.com/s/1NnrS5asrS1Pw6LUbexewuA?pwdtxmy 官方WP&#xff1a;https://mp.weixin.…

Asp.Net Core 读取配置接口 IOptions、IOptionsMonitor以及IOptionsSnapshot

&#x1f340;简介 Options是.net Core Web api框架自带的功能&#xff0c;Options模式通过定义强类型的类来表示相关配置设置的集合&#xff0c;使得配置管理更为结构化和类型安全。 IOptions、IOptionsMonitor和IOptionsSnapshot是用于处理配置的依赖注入接口。这些接口允许…

Jenkins三种构建类型

目录 传送门前言一、概念二、前置处理&#xff08;必做&#xff09;1、赋予777权限2、让jenkins用户拥有root用户的kill权限3、要运行jar包端口号需要大于1024 三、自由风格软件项目&#xff08;FreeStyle Project&#xff09;&#xff08;推荐&#xff09;三、Maven项目&#…

【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常

【问题分类】驱动使用 【关键字】OCI、驱动使用、PHP 【问题描述】 PHP使用OCI8连接yashan数据库&#xff0c;使用绑定参数获取数据时&#xff0c;出现报错 如果使用PDO_OCI接口连接数据库&#xff0c;未弹出异常&#xff0c;但是无法正确获取数据 【问题原因分析】 开启O…

springcloud第4季 分布式事务seata作用服务搭建

一 seata作用 1.1 作用 二 seata服务端搭建 2.1 seata搭建 2.2.1 seata 服务端下载安装 下载地址&#xff1a; Seata-Server下载 | Apache Seata 截图如下&#xff1a; 2.2.2 使用mysql初始化seata所需表 1.下载脚本地址&#xff1a;incubator-seata/script/server/db/…

2024最新D卷 华为OD统一考试题库清单(按算法分类),如果你时间紧迫,就按这个刷

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

Nas实现软路由OpenWrt安装

文章目录 基本配置步骤 基本配置 NAS&#xff1a;TS-264C 宇宙魔方 步骤 1.下载软路由OpenWrt 下载地址&#xff1a;https://openwrt.org/ 2.下载好以后&#xff0c;需要下载虚拟盘转换工具&#xff08;StarWind V2V Convert&#xff09; 下载地址&#xff1a;https://…

大模型与知识智能:心理疾病治疗的新希望

前言 随着社会的发展&#xff0c;心理疾病已成为一个日益突出的问题。据《柳叶刀》杂志的系统性综述显示&#xff0c;疫情之后&#xff0c;全世界抑郁症与焦虑症的患病率上升超过25%&#xff0c;其中青少年心理健康的影响最大。此外&#xff0c;2021年国内的精神障碍报告显示&…