String常用操作

String常用方法

构造字符串

常用的构造字符串有3种:
1.直接赋值String s = "abcd";
2.实例化调用构造方法String s = new String("abcd");
3.实例化传字符数组

char[] ch = {'a','b','c','d'};
String s = new String(ch);

字符串比较

==比较

==比较的是两个字符串引用对象的地址是否一致

equals方法比较

boolean equals(Object anObject);

equals方法相同返回true,不同返回false;
==和equals

equalsIngnoreCase方法

boolean equalsIgnoreCase(String anotherString);

该方法与equals方法使用一样,只是不会考虑大小写。

compareTo方法

int compareTo(String s);

3.compareTo方法比较的是两个字符串内容,使用形式字符串1.compareTo(字符串2);
按照字符的ASCII码值一个一个字符比较,字符串1大于字符串2返回正值,小于返回负值,相等返回0。和c语言中的strcmp方法比较规则一样。

compareToIngnoreCase方法

int compareToIgnoreCase(String str);

该方法与 compareTo方法使用一样,只是不会考虑大小写。

字符查找

charAt方法

char charAt(int index);

返回index下标的字符,注意越界。使用方法字符串名.charAt(数字);

indexof方法

int indexOf(int ch);

该方法返回第一次出现字符ch的值,用int是使用字符ASCII码值表示,没找到返回-1。
使用方法字符串名.indexof(字符);
该方法还有重载方法:

int indexOf(int ch, int fromIndex);

这个方法是重fromIndex位置开始向后找第一次出现字符ch的位置并返回。

int indexOf(String str);

这个方法是返回第一次出现字符串str的第一个字符的坐标。

int indexOf(String str, int fromIndex)

这个方法是重fromIndex位置开始向后找第一次出现字符串str的第一个字符的坐标并返回。

lastIndexOf方法

int lastIndexOf(int ch);

该方法返回重最后开始往前找第一次出现字符ch的值,用int是使用字符ASCII码值表示,没找到依然返回-1。
使用方法字符串名.lastIndexOf(字符);
该方法还有重载方法:

int lastIndexOf(int ch, int fromIndex);
int lastIndexOf(String str);
int lastIndexOf(String str, int fromIndex);

这三个重载方法和indexOf的重载方法的特性一样,只不过都是从后往前找。

转化

valueOf方法

该方法是一个静态方法。
该方法是将其他类型转化为字符串,如果是一个自定义类转化为字符串,该类重写了toString方法就转化为正常形式,没重写就转化为hash值。
使用方法String str = String.valueOf(待转化值);

Integer.parseInt方法

该方法作用是将字符串转化为数字,该字符串中必须是数字字符串(只有数字)。
使用方法int data =Integer.parseInt("13222");

toUpperCase和toLowerCase

这两个方法是将字符串中的字母大小写转换,顾名思义toUpperCase将小写字母全转换成大写,toLowerCase将大写字母全转换成小写。
使用方法字符串名.toUpperCase();

toCharArray方法

这个方法是将字符串转为字符数组。
使用方法char[] ch = 字符串名.toCharArray();

format方法

该方法是一个静态方法。
这是格式化存入字符串,使用跟c语言中的printf函数一样。举个例:

String s = String.format("%d:%d:%d",12,24,50);

替换

replace方法

11
这个方法会将字符串中的oldChar全部替换为newChar。
使用方法字符串名。replace(old,new);

replaceAll和replaceFirst

String replaceAll(String regex, String replacement);
String replaceFirst(String regex, String replacement);

replaceAll将指定的字符串regex全部转化为replacement。
replaceFirst将遇到的第一个指定的字符串regex全部转化为replacement
注意事项:
由于字符串是不可变对象, 替换不会修改当前的字符串, 而是产生一个新的字符串.

拆分

split方法

String[] split(String regex);
String[] split(String regex, int limit);

第一个是将字符串通过字符regex拆分。
第二个是将字符串通过字符regex拆分为limit个。

截取

substring

String substring(int beginIndex);//从 beginIndex截取到结尾
String substring(int beginIndex, int endIndex);//从 beginIndex截取到endIndex

删除左右空格

split

该方法直接删除字符串的左右两边的空格。
使用方法字符串名.split();

注意事项

在上面对字符串的操作中都不会直接修改原字符串的内容。

StringBuilder和StringBuffer

这两个类中的方法就是直接修改的原字符串上的。StringBuilder适用于多线程
StringBuffer适用于单线程。
其中主要方法如下图:
2

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

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

相关文章

HCIA-HarmonyOS Application Developer 课程大纲

一:鸿蒙 Mac 版、 Windows 版【编辑器】和【模拟器】 & 鸿蒙基础环境搭建 - ( 3 课时) - Mac arm 版开发环境搭建:Mac arm 版模拟器安装及配置;安装 DevEcoStudioPreview 版本; - Windows 版开发…

对人工智能技术GPT-4o的初步认知

GPT-4o是一种高级人工智能技术,是OpenAI公司基于GPT系列模型的最新版本。与之前的版本相比,GPT-4o具有更强大的技术能力和性能。 首先,在版本间的对比分析中,GPT-4o在模型的规模和参数量上显著提升。它的训练数据集更大&#xff…

Cpp模板-template、typename(二)

T —— 类型参数&#xff0c;也叫模板参数 <> 中包括两种类型参数&#xff1a;用typename/class修饰的是类型模板参数&#xff0c;是类型说明符。另外的称为非类型模板参数。 与函数模板一样&#xff0c;非类型参数不允许使用浮点型、类对象(对象的引用可以)、void 一…

「C系列」C 数据类型

文章目录 一、C 数据类型-介绍1. 基本数据类型&#xff1a;2. 派生数据类型&#xff1a;3. 限定符&#xff1a;4. 函数类型&#xff1a;5. 类型定义&#xff08;typedef&#xff09;&#xff1a;6. 位字段&#xff08;Bit-fields&#xff09;&#xff1a; 二、C 数据类型-案例1…

35【Aseprite 作图】苹果——拆解

1 叶子是&#xff0c;竖着4&#xff0c;然后2 1 竖2&#xff1b;左边是1 2 横着2&#xff1b;然后横着连接 之后画苹果&#xff0c;4 3 1 1 1 &#xff0c;竖着8 2 1 1 1 2 横着5&#xff1b;之后水平翻转&#xff08;苹果左右一样&#xff09; 2 加上浅绿做底色 3 阴影部分 …

Redis-03

Redis常用命令 1. SET key value: 设置指定 key 的值为 value。 2. GET key: 获取指定 key 的值。 3. DEL key: 删除指定 key 及其对应的值。 4. KEYS pattern: 查找所有符合给定 pattern 的 key。 5. EXISTS key: 判断指定 key 是否存在。 6. INCR key: 将指定 key 的值增加 …

C语言 | Leetcode C语言题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; typedef struct {int key;UT_hash_handle hh; }Hash; int longestConsecutive(int* nums, int numsSize) {Hash* headNULL;Hash* tempNULL;for(int i0;i<numsSize;i){int numnums[i];HASH_FIND_INT(head,&num,temp);if(!temp){temp…

HCIP的学习(27)

RSTP—802.1W—快速生成树协议 STP缺陷&#xff1a; 1、收敛速度慢----STP的算法是一种被动的算法&#xff0c;依赖于计时器来进行状态变化 2、链路利用率低​ RSTP向下兼容STP协议。&#xff08;STP不兼容RSTP&#xff09; 改进点1—端口角色 802.1D协议---根端口、指定端口…

驾校-短视频营销招生精品课:抖音推广技巧,抖音短视频招生(41节课)

课程下载&#xff1a;驾校-短视频营销招生精品课&#xff1a;抖音推广技巧&#xff0c;抖音短视频招生(41节课)-课程网盘链接提取码下载.txt资源-CSDN文库 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 课程目录 [1]-第1课驾校为什么要全力做好短视频营销.mp4 …

Vue3-watch监听ref和reactive数据的五种情况及watchEffect

何为watch&#xff1a; 文档定义&#xff1a; 用于声明在数据更改时调用的侦听回调。 watch 选项期望接受一个对象&#xff0c;其中键是需要侦听的响应式组件实例属性 (例如&#xff0c;通过 data 或 computed 声明的属性)——值是相应的回调函数。该回调函数接受被侦听源的新…

Word2021中的The Mathtype DLL cannot be found问题解决(office 16+mathtype7+非初次安装)

问题描述&#xff0c;我的问题发生在word中无法使用自定义功能区中的mathtype 我的环境是&#xff1a;W11Word2021mathtype7 因为我是第二次安装mathtype7&#xff0c;所以我怀疑是因为没有卸载干净&#xff0c;于是我参考了下面这篇文章的做法 参考文章 1.首先重新卸载当前的…

Go语言学习记录

GO语法学习之路 学习时间段2024-06-02学习记录安装&环境配置Go安装包内容统一入门姿势&#xff1a;hello world实现 Go语法初学Go 运行时&#xff08;runtime&#xff09;Go解释器 学习时间段 #mermaid-svg-tTuVZ3bbdJvu04kX {font-family:"trebuchet ms",verdan…

百度大模型算法实习岗上岸经验分享!

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

算法学习(01)

1、排序算法 1&#xff09;快速排序 public void qsout(int[] arr,int l,int r){if(l > r)return;int i,j,temp,t;i l;j r;temp arr[l];while(i ! j){while(arr[j] > temp && i < j) j--;while(arr[i] < temp && i < j) i;if(i < j){t …

每日一练——分糖果

575. 分糖果 - 力扣&#xff08;LeetCode&#xff09; 方法一 可以做&#xff0c;但提示超时了 #define MIN(x, y) (x < y ? x : y)int distributeCandies(int* candyType, int candyTypeSize) {int p 0;char flag 1;for (int i 1; i < candyTypeSize; i){for (int…

TypeScript 模块解析机制

1. 模块解析的概念 模块解析是指编译器在编译过程中根据模块的导入语句找到并加载相应的模块文件的过程。在 TypeScript 中&#xff0c;模块可以使用相对路径或者绝对路径来导入&#xff0c;编译器需要根据导入语句中的路径信息来定位到对应的模块文件。 2. 解析策略 TypeSc…

Java项目:94 springboot大学城水电管理系统

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本管理系统有管理员和用户。 本大学城水电管理系统管理员功能有个人中心&#xff0c;用户管理&#xff0c;领用设备管理&#xff0c;消耗设备…

pandas习题 035:选择 DataFrame 其中一列

# 有以下一个 DataFrame&#xff0c;请分别选择 name 列和 math 列&#xff0c;选择后为一个 Series&#xff0c;并查看这些 Series 的数据类型。 import pandas as pddata {name: [Alice, Bob, Charlie, David, Eve],grade: [10, 11, 10, 12, 11],math: [90, 85, 92, 88, 95]…

介绍计算机系统中的I/O设备工作方式

在现代计算机系统中&#xff0c;I/O设备&#xff08;Input/Output Devices&#xff09;扮演着至关重要的角色&#xff0c;它们负责在计算机和外部环境之间进行数据交换。本文将详细介绍I/O设备的种类、连接方式及其工作原理&#xff0c;并解释GPU如何进行并行计算&#xff0c;以…

Lambda 表达式练习

目录 sorted() 四种排序 List 转 Map map 映射 对象中 String 类型属性为空的字段赋值为 null BiConsumer,> T reduce(T identity, BinaryOperator accumulator) allMatch(Predicate p) groupingBy(Function f) flatMap(Function f) Optional.ofNullable(T t) 和 …