---String类---

news2024/11/27 23:34:21

在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

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

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

相关文章

DataFrames相关介绍文件读取

目录 1.初识DataFrame 2.DataFrame的构造函数 3.数据框的轴 4.CSV文件读取 5.Excel文件读取 1.初识DataFrame (1)昨天,我们学习了Series。而Pandas的另一种数据类型:DataFrame,在许多特性上和Series有相似之处。 …

Python虚拟环境的配置

前言: 本人一度被Python的虚拟环境的配置所困扰,前段时间抽空学习了一下,现在总结一下方法,供大家参考。 先使用winr打开命令行窗口。 展示所有虚拟环境 conda env list 创建虚拟环境 例如我们创建一个叫做py_sk的虚拟环境 …

JProfiler 性能分析案列——dump.hprof 堆内存快照文件分析排查内存溢出

在 windows 环境下实现。 一、配置 JVM 参数 配置两个 JVM 参数: -XX:HeapDumpOnOutOfMemoryError,配置这个参数,会在发生内存溢出时 dump 生成内存快照文件(xxx.hprof)-XX:HeapDumpPathF:\logs,指定生成…

SQLServer使用 PIVOT 和 UNPIVOT行列转换

在SQL Server中,PIVOT是一个用于将行数据转换为列数据的操作。它特别适用于将多个行中的值转换为多个列的情况,并在此过程中执行聚合操作。以下是关于SQL Server中PIVOT操作的详细解释和示例: 1、本文内容 概述语法备注关键点简单 PIVOT 示…

拒绝Token焦虑,盘点可白嫖的6款LLM大语言模型API~

上篇分享了如何从0到1搭建一套语音交互系统。 其中,大语言模型(LLM)是实现智能对话的关键所在。 很多小伙伴反应:本地部署 LLM 还是有门槛,本文将系统盘点:目前市面上都有哪些可以免费调用的云端API&…

华为云开发者社区活动-基于MindNLP的ChatGLM-6B聊天机器人体验

MindNLP ChatGLM-6B StreamChat 本案例基于MindNLP和ChatGLM-6B实现一个聊天应用。支持流式回复。 本活动通过配置环境,模型接入,以及gradio前端界面搭建,实现了聊天机器人的功能。 以下是一些体验记录: 有兴趣的可以通过以下链…

平台型组织的战略及OKR

本文主要探讨了在平台型组织中战略和OKR(目标与关键结果)的应用,以及如何在不同的组织架构中有效制定和执行战略。原文: Strategy and OKRs in the Platform Organization 战略:重要的承诺、复杂的过程 对于什么是组织的战略&…

PS通过GTX实现SFP网络通信1

将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接, 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…

openh264 帧内预测编码原理:WelsMdIntraChroma 函数

帧内色度预测编码 帧内预测的目的是利用图像中相邻像素的亮度和色度值之间的接近性来进行压缩。在H.264中,帧内预测包括亮度和色度的预测。色度预测模式通常是基于亮度预测模式来确定的,因为色度分量通常具有更高的空间冗余度。色度预测模式的选择可以基…

汽车级TPSI2140QDWQRQ1隔离式固态继电器,TMUX6136PWR、TMUX1109PWR、TMUX1133PWR模拟开关与多路复用器(参数)

1、TPSI2140-Q1 是一款隔离式固态继电器,专为高电压汽车和工业应用而设计。 TPSI2140-Q1 与 TI 具有高可靠性的电容隔离技术和内部背对背 MOSFET 整合在一起,形成了一款完全集成式解决方案,无需次级侧电源。 该器件的初级侧仅由 9mA 的输入电…

Blender帧动画

时间线窗口Timeline用于定义帧动画 -视图:方法,平移,框显全部 -帧范围:可以调整动画共多少帧 -当前帧:可以拖动或手工指定 默认每秒24帧 定义一个帧动画类似unity的Timeline,只需定义关键帧&#xff0c…

java学习 项目篇 一

学习地址:https://www.bilibili.com/video/BV1TP411v7v6?p6&spm_id_frompageDriver&vd_sourcea6f7db332f104aff6fadf5b3542e5875 后端环境搭建 Entity 实体,通常和数据库的表对应DTO 数据传输对象,用于程序中各层之间传递数据 (前端…

如何使用Keil打开GD32 FPU及使用ARM DSP库

GD32目前支持ARM Cortex-M和RISC-V两种内核系列芯片,其中Cortex-M内核已经支持的有M3、M4、M23、M33、M7,这里面除了M3和M23以外,其他的都带FPU单元。我们知道,FPU在浮点运算速度上有很大的提升,并且只有带FPU才可以使…

服务器权限管理

我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险。所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要。(权限越大,责任越大) 1.基本权限 U--user用户,G-group…

板凳------56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍

56.1.概述 socket 是一种IPC方法,允许位于同一主机或使用网络连接起来的不同主机上的应用程序之间交换数据。 UNIX 允许位于同一主机系统上的应用程序之间通信 Internet domain IPv4 and IPV6 // socket 通信方式 1.各个应用程序创建一个socket,socket是…

GraogGNSSLib学习

GraogGNSSLib学习 程序编译环境版本项目编译结果问题 程序编译 GraphGNSSLib 环境版本 程序开源是在ubuntu16.04-kinetic环境跑通的,但是我的环境是UBUNTU20.04,所以,先进行了ROS的安装,因为我的系统是ubuntu20.04所以&#xf…

软考中级|软件设计师-知识点整理

目录 计算机网络概论 计算机系统基础知识 中央处理单元 数据表示 校验码 计算机体系结构 计算机体系结构的发展 存储系统 输入/输出技术 安全性、可靠性与系统性能评测基础知识 加密技术和认证技术 计算机可靠性 程序设计语言基础知识 程序设计语言概述 程序设计…

Python自动化办公(二) —— 查看文件夹中的PDF文件数量

Python自动化办公(二) —— 查看文件夹中的PDF文件数量 在日常办公中,我们经常需要统计某个文件夹中的PDF文件数量。手动操作不仅费时费力,而且容易出错。幸运的是,使用Python可以轻松实现这个过程。本文将介绍如何使用…

南通国际高中有哪些?南通惠立学校高中部校长见面日重磅来袭

惠灵顿(中国)自2011年成立以来,一直坚持深耕国际与双语教育,拥有丰厚的办学经验。依托于集团化的深厚经验南通惠立学校于2024-2025学年开设9-11年级,这所南通国际高中为高中学生搭建一个集卓越升学成果、强大师资、纯正…

码住!详解时序数据库不同分类与性能对比

加速发展中的时序数据库,基于不同架构,最流行的类别是? 作为管理工业场景时序数据的新兴数据库品类,时序数据库凭借着对海量时序数据的高效存储、高可扩展性、时序分析计算等特性,一跃成为物联网时代工业领域颇受欢迎的…