【String 类 常用方法详解和归类】全网最细总结

目录

  • 一、 String 介绍
  • 二、String 类中查找字符串的方法
    • 2.1 常用查找
    • 在这里插入图片描述
    • 2.2、其他查找
  • 三、转换功能
    • 3.1 常用转换方法
    • 3.2、其他转换方法
  • 四、判断、比较相关方法
    • 4.1、常用判断、比较方法
    • 4.2、其他判断、比较方法
  • 五、拆分,截取,替换方法
    • 5.1、常用拆分,截取,替换方法
    • 5.2、其他拆分,截取,替换方法
    • 最后

一、 String 介绍

  • String 类代表的字符串,程序中任何字符串都是String类的对象;

  • 字符串是常量;它们的值在创建之后不能更改;

  • String类提供了很多操作字符串的方法,查找,判断,截取,替换,转换等等…

二、String 类中查找字符串的方法

  • 获取字符串长度
  • int length()

2.1 常用查找

char charAt(int index)
------返回指定索引处的 char 值。


在这里插入图片描述


int codePointAt(int index)
-----返回指定索引处的字符(Unicode 代码点)


在这里插入图片描述


int codePointBefore(int index)
---- 返回指定索引之前的字符(Unicode 代码点)。


在这里插入图片描述


int indexOf(int ch)
----返回指定字符在此字符串中第一次出现处的索引。


在这里插入图片描述


int indexOf(int ch, int fromIndex)
-----返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。


在这里插入图片描述


int indexOf(String str)
-----返回指定子字符串在此字符串中第一次出现处的索引。


在这里插入图片描述


int indexOf(String str, int fromIndex)
-----返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。


在这里插入图片描述

2.2、其他查找

返回值类型方法名方法描述
static StringcopyValueOf(char[] data)返回指定数组中表示该字符序列的 String
static StringcopyValueOf(char[] data, int offset, int count)返回指定数组中表示该字符序列的 String
intlastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引
int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索
intlastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引
intlastIndexOf(String str, int fromIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索

三、转换功能

3.1 常用转换方法

static String valueOf(任意类型)
将任意类型转成字符串

String s = String.valueOf(1);
System.out.println("s = " + s);
System.out.println(s + 1 );//11

byte[] getBytes()
---------使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

byte[] bytes = "abc".getBytes( );
System.out.println(Arrays.toString(bytes));//[97, 98, 99]

char[] toCharArray()
将此字符串转换为一个新的字符数组。

char[] charArray = "abc".toCharArray( );
System.out.println(Arrays.toString(charArray));//[a, b, c]

String toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

  System.out.println("ABC".toLowerCase( ));//abc

String toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

  System.out.println("abc".toUpperCase( ));//ABC

3.2、其他转换方法

返回值类型方法名方法描述
byte[]getBytes(Charset charset)使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组
byte[]getBytes(String charsetName)使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中
StringtoLowerCase(Locale locale)使用给定 Locale 的规则将此 String 中的所有字符都转换为小写
StringtoUpperCase(Locale locale)使用给定 Locale 的规则将此 String 中的所有字符都转换为大写

四、判断、比较相关方法

4.1、常用判断、比较方法

boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。

 System.out.println("abc".contains("1"));//false
 System.out.println("abc".contains("a"));//true

int compareTo(String anotherString)
按字典顺序比较两个字符串。

 System.out.println("abc".compareTo("acb"));//-1
 System.out.println("acb".compareTo("abc"));//1

boolean contentEquals(CharSequence cs)
将此字符串与指定的 CharSequence 比较。

System.out.println("abc".contentEquals("11"));//false
System.out.println("abc".contentEquals("abc"));//true

boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。

 System.out.println("abc".endsWith("c"));//true
 System.out.println("abc".endsWith("1"));//false

boolean equals(Object anObject)
将此字符串与指定的对象比较。

System.out.println("abc".equals("abc"));//true
System.out.println("abc".equals("ab"));//false

boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。

 System.out.println("abc".equalsIgnoreCase("ABC"));//true

4.2、其他判断、比较方法

返回值类型方法名方法描述
intcompareToIgnoreCase(String str)按字典顺序比较两个字符串,不考虑大小写
booleancontentEquals(StringBuffer sb)将此字符串与指定的 StringBuffer 比较。
booleanmatches(String regex)告知此字符串是否匹配给定的正则表达式。
booleanregionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)测试两个字符串区域是否相等。

五、拆分,截取,替换方法

5.1、常用拆分,截取,替换方法

String concat(String str)
将指定字符串连接到此字符串的结尾。

        System.out.println("abc".concat("d"));//abcd

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此字符串复制到目标字符数组。

 char[] chars = {'c','c','c','d'};
 "abc".getChars(0,2,chars,0);
System.out.println(Arrays.toString(chars));//[a, b, c, d]

String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

 System.out.println("abc".replace('a', 'c'));//cbc

String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。

String[] strings = "java-API".split("-");
System.out.println(Arrays.toString(strings));//[java, API]

String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。

 System.out.println("abcd".substring(1));//bcd

String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。

System.out.println("abcd".substring(1,3));//bc

5.2、其他拆分,截取,替换方法

返回值类型方法名方法描述
Stringreplace(CharSequence target, CharSequence replacement)使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串
StringreplaceAll(String regex, String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串
StringreplaceFirst(String regex, String replacement)使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串
String[]split(String regex, int limit)根据匹配给定的正则表达式来拆分此字符串。

最后

编写不易,如果感觉有收获的话,点个赞 👍🏻 吧。
❤️❤️❤️本人菜鸟修行期,如有错误,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍在这里插入图片描述

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

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

相关文章

linux---生产者和消费者模型

生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据&#…

[数据集][目标检测]吉他检测数据集VOC+YOLO格式66张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):66 标注数量(xml文件个数):66 标注数量(txt文件个数):66 标注类别数…

面试二十七、 CAS和Atomic

CAS锁机制(无锁、自旋锁、乐观锁、轻量级锁)-CSDN博客 1. ABA问题 在C中,可以使用std::atomic和版本号来解决ABA问题。C标准库没有直接提供类似Java的AtomicStampedReference,但可以通过将版本号和指针组合在一起实现类似的效果。…

win系统游戏提示找不到d3dx9_37.dll丢失的解决方法-最简单的解决方法

d3dx9_37.dll 是一个动态链接库文件,属于 Microsoft DirectX 9 的一部分。DirectX 9 是一个用于多媒体应用,特别是游戏和视频的 API,它提供了一套丰富的功能,用于处理图形、声音和输入设备等。d3dx9_37.dll 文件包含了 Direct3D 9…

巨细巨细的白痴级vulntarget-a靶场wp再不会你打死我

ad一,靶场搭建 下载靶场:GitHub - crow821/vulntarget: vulntarget靶场系列 官方拓补图 ps:此处 攻击机ip192.168.87.134,win7ip1为192.168.87.144 下载完毕后直接装入虚拟机不要进去,不要进去,不要进去…

使用LLaMA-Factory微调大模型

使用LLaMA-Factory微调大模型 github 地址 https://github.com/hiyouga/LLaMA-Factory 搭建环境 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory在 LLaMA-Factory 路径下 创建虚拟环境 conda create -p ./venv python3.10激活环境 c…

RabbiMQ怎么保证可靠性

RabbiMQ怎么保证可靠性 前言生产端问题解决方案代码验证 RabbitMQ问题消费端问题解决方案代码验证 总结 前言 RabbitMQ相信大家都非常熟悉了,今天咱们来聊聊怎么保证RabbitMQ的可靠性。 那什么时候会出现问题呢? 第一种是生产端出现的问题。我们向队列…

CTFHUB-信息泄露-目录遍历和PHPINFO

目录 目录遍历 PHPINFO 目录遍历 很简单,挨着把每个目录都点开看一下 发现2目录下有个 flag.txt 文件,点开发现了本关的flag PHPINFO 这关也很简单,进来之后是一个phpinfo页面,按 CTRL F键打开查询,输入flag&#…

成功解决“ypeError: An Integer Is Required”错误的全面指南

成功解决“ypeError: An Integer Is Required”错误的全面指南 🌈 欢迎莅临我的个人主页👈这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!🎇 &#x…

【科研基础】证明积累

1-Bayesian Estimation (P317) Suppose that x = θ + ν w h e r e ν i s a n N ( 0 , σ ) random variable and θ is the value of a n N ( θ 0 , σ 0 ) random variable θ (Fig. 8-7). Find the bayesian estimate θ o f θ . \begin{align…

神经网络与深度学习——第6章 循环神经网络

本文讨论的内容参考自《神经网络与深度学习》https://nndl.github.io/ 第6章 循环神经网络 给网络增加记忆能力 延时神经网络 有外部输入的非线性自回归模型 循环神经网络 简单循环网络 循环神经网络的计算能力 循环神经网络的通用近似定理 图灵完备 应用到机器学习 序列到类…

用贪心算法计算十进制数转二进制数(小数部分)

在上一篇博文用贪心算法计算十进制数转二进制数(整数部分)-CSDN博客中,小编介绍了用贪心算法进行十进制整数转化为二进制数的操作步骤,那么有朋友问我,那十进制小数转二进制,可以用贪心算法来计算吗&#x…

支付系统对接商户

target:离开柬埔寨倒计时-214day 还是美女作为开篇 前言 昨天没有写文章,因为部门团建,我得去给他们画饼,说起来也真的是唏嘘,我一个已经都在计划着离开柬埔寨的人,昨天聚餐还一个个给他们描述未来的前景&a…

5G无线标准演进综述及新技术引入

摘 要 随着经济和社会的发展,5G业务越来越丰富多彩,1080P高清视频、裸眼3D、网联汽车、云手机等新业务、新终端对网络的要求也越来越高;另一方面,5G标准持续演进,在MIMO、载波聚合、移动性管理、uRLLC、切片、定位等方…

海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7,yolov8(19)-Yolov10探索

YOLOv10 开源有几天了,看性能是比较强的,但是试过的一些人说没有YOLOv8好,实际效果以测试结果为准,这里创新点算是去掉了之前YOLO的NMS步骤,论文题目也说了NMS-Free,以此来提高小目标检测率,减少计算冗余,也没有NMS的计算时间提高实时性。 这个倒是让我看到了以后可以…

以sqlilabs靶场为例,讲解SQL注入攻击原理【18-24关】

【less-18】 打开时,获取了自己的IP地址。,通过分析源码知道,会将用户的user-agent作为参数记录到数据库中。 提交的是信息有user-Agent、IP、uname信息。 此时可以借助Burp Suite 工具,修改user_agent,实现sql注入。…

STM32之USART(串口)通信学习

1.通信接口 在开始通信之前,我们要了解什么是通信,通信就是将一个设备的数据传送到另一个设备。 同时按照双方规定的协议即通信协议,指定通信规则通信双方按照规则进行数据的收发。 应用场景:单片机的串口可以使单片机与单片机…

软件架构设计属性之5:可维护性属性分析与应用

文章目录 引言一、可维护性定义和重要性1.1 定义1.2 重要性 二、可维护性关键要素2.1 模块化2.2 单一职责2.3 低耦合2.4 高内聚2.5 抽象和封装2.6 实践建议 三、设计原则3.1 开闭原则3.2 依赖倒置原则3.3 评估方法3.4 挑战与解决方案 四、实战应用总结 引言 在当今数字化飞速发…

利用GNSS IMU集成提高车道级定位精度

准确的定位对于很多不同的事情都是至关重要的。导航系统可以引导我们去某个地方,自动驾驶汽车可以利用这些数据在道路上安全行驶。尽管全球导航卫星系统(GNSS)在定位方面非常出色,但它们可能并不总是提供最准确的车道水平事实。解决这个问题的一个有希望…

大模型对齐方法笔记四:针对领域问答来进行知识对齐方法KnowPAT

KnowPAT KnowPAT(Knowledgeable Preference AlignmenT) 出自2023年11月的论文《Knowledgeable Preference Alignment for LLMs in Domain-specific Question Answering》,主要针对领域问答来进行知识对齐。 在领域问答有两个挑战:希望输出满足用户的要…