当前位置: 首页 > news >正文

Java中String方法魔性学习

这里写目录标题

    • 先进行专栏介绍
    • String详解
      • 常用构造方法
      • 代码演示
      • 常用成员方法
      • 代码示例
      • 总结

先进行专栏介绍

本专栏是自己学Java的旅途,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记
进行适当修改。希望能对大家能有所帮助,同时也是请大家对我进行监督,对我写的代码进行建议,互相学习。

在这里插入图片描述

String详解

Java中的String是一个不可变的字符序列,它是Java中最常用的数据类型之一。

常用构造方法

String():无参构造方法,创建一个空字符串对象。String(char[] value):通过字符数组创建一个字符串对象。String(char[] value, int offset, int count):通过字符数组的一部分创建一个字符串对象,从指定的偏移量开始,取count个字符。String(byte[] bytes):通过字节数组创建一个字符串对象,使用平台的默认字符集将字节解码为字符。String(byte[] bytes, int offset, int length):通过字节数组的一部分创建一个字符串对象,从指定的偏移量开始,取length个字节,并使用平台的默认字符集将字节解码为字符。String(String original):通过复制原始字符串创建一个新的字符串对象。String(StringBuffer buffer):通过StringBuffer对象创建一个字符串对象。String(StringBuilder builder):通过StringBuilder对象创建一个字符串对象。

在这里插入图片描述

代码演示

public class crj{public static void main(String[] args) {// 无参构造方法String str1 = new String();System.out.println("str1: " + str1); // 输出:str1:// 通过字符数组创建字符串对象char[] charArray = {'H', 'e', 'l', 'l', 'o'};String str2 = new String(charArray);System.out.println("str2: " + str2); // 输出:str2: Hello// 通过字符数组的一部分创建字符串对象String str3 = new String(charArray, 2, 3);System.out.println("str3: " + str3); // 输出:str3: llo// 通过字节数组创建字符串对象byte[] byteArray = {72, 101, 108, 108, 111};String str4 = new String(byteArray);System.out.println("str4: " + str4); // 输出:str4: Hello// 通过字节数组的一部分创建字符串对象String str5 = new String(byteArray, 2, 3);System.out.println("str5: " + str5); // 输出:str5: llo// 通过复制原始字符串创建新的字符串对象String original = "Hello";String str6 = new String(original);System.out.println("str6: " + str6); // 输出:str6: Hello// 通过StringBuffer对象创建字符串对象StringBuffer buffer = new StringBuffer("Hello");String str7 = new String(buffer);System.out.println("str7: " + str7); // 输出:str7: Hello// 通过StringBuilder对象创建字符串对象StringBuilder builder = new StringBuilder("Hello");String str8 = new String(builder);System.out.println("str8: " + str8); // 输出:str8: Hello}
}

常用成员方法

int length():返回字符串的长度。char charAt(int index):返回指定索引位置的字符。int indexOf(String str):返回指定子字符串在字符串中第一次出现的索引位置。int lastIndexOf(String str):返回指定子字符串在字符串中最后一次出现的索引位置。boolean startsWith(String prefix):判断字符串是否以指定的前缀开始。boolean endsWith(String suffix):判断字符串是否以指定的后缀结束。boolean isEmpty():判断字符串是否为空。String substring(int beginIndex):返回从指定索引位置开始到字符串末尾的子字符串。String substring(int beginIndex, int endIndex):返回从指定的开始索引位置到结束索引位置的子字符串。String replace(char oldChar, char newChar):将字符串中的所有旧字符替换为新字符。String replace(CharSequence target, CharSequence replacement):将字符串中的所有目标字符序列替换为指定的替换字符序列。String[] split(String regex):将字符串根据指定的正则表达式分割为字符串数组。String trim():去除字符串两端的空白字符。boolean equals(Object obj):判断字符串是否与指定对象相等。boolean equalsIgnoreCase(String anotherString):忽略大小写判断字符串是否与另一个字符串相等。String toLowerCase():将字符串转换为小写。String toUpperCase():将字符串转换为大写。String concat(String str):将指定字符串连接到原字符串的末尾。boolean contains(CharSequence sequence):判断字符串是否包含指定的字符序列。String format(String format, Object... args):将指定格式的字符串与参数进行格式化。

在这里插入图片描述

代码示例

public class StringMethodsDemo {public static void main(String[] args) {String str = "Hello, World!";// length()int length = str.length();System.out.println("Length: " + length); // 输出:Length: 13// charAt(int index)char ch = str.charAt(7);System.out.println("Character at index 7: " + ch);// 输出:Character at index 7: W// indexOf(String str)int index = str.indexOf("World");System.out.println("Index of 'World': " + index); // 输出:Index of 'World': 7// lastIndexOf(String str)int lastIndex = str.lastIndexOf("o");System.out.println("Last index of 'o': " + lastIndex); // 输出:Last index of 'o': 8// startsWith(String prefix)boolean startsWith = str.startsWith("Hello");System.out.println("Starts with 'Hello': " + startsWith); // 输出:Starts with 'Hello': true// endsWith(String suffix)boolean endsWith = str.endsWith("World");System.out.println("Ends with 'World': " + endsWith); // 输出:Ends with 'World': false// isEmpty()boolean isEmpty = str.isEmpty();System.out.println("Is empty: " + isEmpty); // 输出:Is empty: false// substring(int beginIndex)String substring1 = str.substring(7);System.out.println("Substring from index 7: " + substring1);// 输出:Substring from index 7: World!// substring(int beginIndex, int endIndex)String substring2 = str.substring(7, 12);System.out.println("Substring from index 7 to 12: " + substring2); // 输出:Substring from index 7 to 12: World// replace(char oldChar, char newChar)String replaced = str.replace('o', 'O');System.out.println("Replaced string: " + replaced); // 输出:Replaced string: HellO, WOrld!// replace(CharSequence target, CharSequence replacement)String replaced2 = str.replace("World", "Universe");System.out.println("Replaced string: " + replaced2); // 输出:Replaced string: Hello, Universe!// split(String regex)String[] splitArray = str.split(",");System.out.println("Split array: " + Arrays.toString(splitArray));// 输出:Split array: [Hello,  World!]// trim()String trimmed = str.trim();System.out.println("Trimmed string: " + trimmed); // 输出:Trimmed string: Hello, World!// equals(Object obj)boolean equals = str.equals("Hello, World!");System.out.println("Equals 'Hello, World!': " + equals); // 输出:Equals 'Hello, World!': true// equalsIgnoreCase(String anotherString)boolean equalsIgnoreCase = str.equalsIgnoreCase("hello, world!");System.out.println("Equals ignore case 'hello, world!': " + equalsIgnoreCase); // 输出:Equals ignore case 'hello, world!': true// toLowerCase()String lowerCase = str.toLowerCase();System.out.println("Lower case: " + lowerCase); // 输出:Lower case: hello, world!// toUpperCase()String upperCase = str.toUpperCase();System.out.println("Upper case: " + upperCase); // 输出:Upper case: HELLO, WORLD!// concat(String str)String concat = str.concat(" How are you?");System.out.println("Concatenated string: " + concat); // 输出:Concatenated string: Hello, World! How are you?// contains(CharSequence sequence)boolean contains = str.contains("World");System.out.println("Contains 'World': " + contains); // 输出:Contains 'World': true// format(String format, Object... args)String formatted = String.format("The value of pi is approximately %.2f", Math.PI);System.out.println("Formatted string: " + formatted); // 输出:Formatted string: The value of pi is approximately 3.14}
}

在这里插入图片描述

总结

String是一个重要的数据类型,它提供了许多方法来处理字符串。由于字符串的不可变性,每次对字符串进行
操作都会创建一个新的字符串对象,因此在频繁操作字符串时需要注意性能问题。

相关文章:

Java中String方法魔性学习

这里写目录标题 先进行专栏介绍String详解常用构造方法代码演示常用成员方法代码示例总结 先进行专栏介绍 本专栏是自己学Java的旅途,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记 进行适当修改。希望…...

Smartbi 权限绕过漏洞复现(QVD-2023-17461)

0x01 产品简介 Smartbi大数据分析产品融合BI定义的所有阶段,对接各种业务数据库、数据仓库和大数据分析平台,进行加工处理、分析挖掘和可视化展现;满足所有用户的各种数据分析应用需求,如大数据分析、可视化分析、探索式分析、复杂…...

springboot自定义错误消息

为了提供自定义错误消息提示,springboot在resources目录下,有一个文件ValidationMessages.properties 用于存储 验证错误的消息提示: 比如: 这样一个ValidationMessage.properties username.notempty用户名不能为空 username.len…...

微信小程序申请步骤

微信公众平台链接:https://mp.weixin.qq.com/ 1、进到微信公众平台,点一下“点击注册”,挑选账号申请种类“小程序”,填好微信小程序用户信息,包含电子邮箱、登陆密码等。 2、微信公众平台会发送一封电子邮件&#xf…...

嘉楠勘智k230开发板上手记录(四)--HHB神经网络模型部署工具

按照K230_AI实战_HHB神经网络模型部署工具.md,HHB文档,RISC-V 编译器和模拟器安装来 一、环境 1. 拉取docker 镜像然后创建docker容器并进入容器 docker pull hhb4tools/hhb:2.4.5 docker run -itd --namehhb2_4 -p 22 "hhb4tools/hhb:2.4.5"…...

微信小程序的自定义TabBar及Vant的使用

一、安装Vant 1、在 资源管理器 空白位置,点右键打开 在外部终端窗口打开 2、初始化NPM npm init -y 3、安装命令 npm i vant/weapp1.3.3 -S --production 4、构建NPM包 在 工具 里选择构建NPM包 5、删除style:v2 在app.json里,删除"style"…...

canvas实现代码雨

学习抖音&#xff1a; 渡一前端必修课 效果图&#xff1a; 全部代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&…...

基于MFCC特征提取和HMM模型的语音合成算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022A 3.部分核心程序 ............................................................................ %hmm是已经…...

多重网格算法的cuda编程

这里写自定义目录标题 多重网格算法介绍问题描述——五点差分法求解二维泊松方程五点差分法Gauss迭代算法限制算子介绍提升算子二重网格算法多重网格算法多重网格cuda代码编写串行代码mg.c两重网格cuda并行代码jacobi迭代的cuda编程device_jacobiMakefilecuda_mg.cucuda_mg.hma…...

DP(状态机模型)

大盗阿福 阿福是一名经验丰富的大盗。趁着月黑风高&#xff0c;阿福打算今晚洗劫一条街上的店铺。 这条街上一共有 N 家店铺&#xff0c;每家店中都有一些现金。 阿福事先调查得知&#xff0c;只有当他同时洗劫了两家相邻的店铺时&#xff0c;街上的报警系统才会启动&#x…...

按照指定的文件顺序进行scp传输

前言 scp 默认传输顺序是按照文件名进行排序的&#xff0c; 但我当前工作中遇到要验证两台机器的神经网络层的精度&#xff0c;需要把网络层的输入输出&#xff08;假设有100层&#xff0c; 一共64G) 从机器1传输到机器2 &#xff0c; 然后进行对比&#xff1b;这种情况下最好…...

小红书数据分析丨现实版模拟人生,这届网友热衷于“云开店”?

近期&#xff0c;小红书出现的一个神秘的热心群体&#xff0c;他们经常活跃在各种小店店主发布的求助帖评论区中&#xff0c;积极地帮助店主出谋划策&#xff0c;寻找小店经营的优化之道&#xff0c;成功帮助小店成功转亏为盈&#xff01;江湖人称一一云股东。小红书话题#爱上帮…...

休闲卤味强势崛起:卤味零食成为新一代热门美食

随着人们生活水平的提高和消费观念的转变&#xff0c;休闲卤味逐渐成为了人们日常生活中的热门美食。据最新数据显示&#xff0c;2022年&#xff0c;我国卤味市场销售额达到了约2000亿元&#xff0c;预计到2025年将突破3000亿元大关。其中&#xff0c;休闲卤味以每年10%的速度持…...

自除数-C语言

描述 给定两个整数 left 和 right &#xff0c;返回一个列表&#xff0c;列表的元素是范围 [left, right] 内所有的 自除数。 1 < left < right < 104 自除数 是指可以被它包含的每一位数整除的数&#xff0c;自除数 不允许包含 0 。例如&#xff0c;128 是一个 自除…...

-bash: ./startup.sh: Permission denied解决

今天在Linux上启动Tomcat&#xff0c;结果弹出&#xff1a;-bash: ./startup.sh: Permission denied 的提示。 这是因为用户没有权限&#xff0c;而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了。 在Tomcat的bin目录下 &#xff0c;输入命令行 &#xff1a;c…...

Java课题笔记~ AOP 概述

AOP 简介 AOP&#xff08;Aspect Orient Programming&#xff09;面向切面编程。 面向切面编程是从动态角度考虑程序运行过程。 AOP的底层&#xff0c;就是采用动态代理的方式实现的。 采用了两种代理&#xff1a;JDK动态代理、CGLIB动态代理。 JDK动态代理&#xff1a;使…...

真我V3 5G(RMX2200 RMX2201)解锁刷机全过程

安卓系统新Rom包为GSI&#xff0c;更具有通用性&#xff0c;可以比较放心刷。 原厂系统垃圾多、广告多&#xff0c;甚至热点功能不支持ipv6&#xff0c;严重偏离热点机的定位。 主要参考 https://www.bilibili.com/read/cv20730877/https://www.bilibili.com/read/cv2073087…...

springCache-缓存

SpringCache 简介&#xff1a;是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;底层可以切换不同的cache的实现&#xff0c;具体是通过CacheManager接口实现 使用springcache,根据实现的缓存技术&#xff0c;如使用的redis,需要导入redis的依赖包 基于map缓存 …...

【solon生态】- solon.cloud.micrometer插件使用指南及micrometer详解

solon.cloud.micrometer插件使用指南 solon是什么solon的cloud生态图快速入门 micrometer指南micrometer是什么监控系统 Supported Monitoring Systems注册表 Registry度量 Meters度量名 Naming Meters度量标签 Tag Naming通用标签 Common Tags 指标过滤器 MeterFilter聚合速率…...

【Spring Boot】Thymeleaf模板引擎 — Thymeleaf的高级用法

Thymeleaf的高级用法 主要介绍Thymeleaf的内联、内置对象、内置变量等高级用法。 1.内联 虽然通过Thymeleaf中的标签属性已经几乎满足了开发中的所有需求&#xff0c;但是有些情况下需要在CSS或JS中访问后台返回的数据。所以Thymeleaf提供了th:inline"text/javascript/…...

用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能

一、实践发现了bug和不足 今天用了公文一键排版系统对几个PDF文件格式的材料进行文字识别后再重新排版&#xff0c;处理效果还是相当不错的&#xff0c;节约了不少的时间。 但是也发现了三个需要改进的地方&#xff1a; &#xff08;一&#xff09;发现了两个bug&#xff1a;…...

元宇宙3D数字虚拟客服打造年轻化、数字化营销新品牌

融合了元宇宙、AI和云计算等技术的虚拟数字人&#xff0c;成为元宇宙数字内容交互的载体&#xff0c;将现实世界中的人与虚拟数字世界的场景、模型及产品链接起来&#xff0c;特别是为电力企业打造的电力元宇宙平台&#xff0c;带来营销宣传多重好处的同时&#xff0c;树立了数…...

micromamba快速安装(windows版本)

快速安装 Micromamba Micromamba 是一个静态链接的 C++ 可执行文件,在 Windows 上就是一个 micromamba.exe 文件,下载下来就直接可以用,甚至都不需要专门安装。唯一需要做的就是设置 Shell 的 Profile 文件,使 micromamba 成为可以在命令行里调用的一个命令。 Micromamba…...

HTML <source> 标签

实例 拥有两份源文件的音频播放器。浏览器应该选择它所支持的文件(如果有的话): <audio controls><source src="horse.ogg" type="audio/ogg"><source src="horse.mp3" type="audio/mpeg">Your browser does n…...

香港第一金:加息预期仍令贵金属承压,黄金仍需关注破位情况

香港第一金基本面分析&#xff1a; 中国纸黄金交易通显示&#xff0c;全球最大黄金上市交易基金(ETF)截至06月27日持仓量为925.66吨&#xff0c;较上日减持1.44吨&#xff0c;本月止净减持13.90吨。 周二美国公布的上月新屋销售飙升12.2%&#xff0c;经季节调整后折合成年率为…...

C语言学习笔记 vscode使用外部console-11

前言 在默认情况下&#xff0c;我们运行C语言程序都是在vscode终端的&#xff0c;在小程序运行时这个是没有问题的&#xff0c;但是当程序变得复杂它就不好用了&#xff0c;这时我们可以将这个终端设置为外部console&#xff0c;这样方便处理更多、更复杂的程序。 步骤 1.点击…...

96 | Python 小项目—— 学生成绩管理系统

文章目录 项目概述功能点2. 登录界面3. 主页面4. 数据录入界面5. 数据删除界面6. 数据修改界面7. 数据查询界面8. 成绩排名界面9. 成绩分析界面10. 学生信息查询界面11. 运行和测试总结项目概述 学生成绩管理系统是一个简单的学生课程管理系统,旨在帮助学校或教育机构轻松管理…...

【uniapp使用web-view点击返回报错后返回不了】

问题及解决 问题解决 问题 使用web-view跳转到别人的网站之后点击返回报错&#xff0c;返回不了 解决 使用以下方法 <template><view></view> </template> <script> var wv;//计划创建的webview export default {onLoad() {// #ifdef APP-PL…...

Map Reduce教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 MapReduce是一种编程模型&#xff0c;用于大规模数据集&#xff08;大于1TB&#xff09;的并行运算。概念"Map&#xff08;映射&#xff09;"和"Reduce&#xff08;归约&#xff09;"&#xff0c;是它们的主要思想&#xff0c;都是从函数式编程语…...

吉利科技携手企企通,打造集团化数智供应链系统

近日&#xff0c;吉利科技集团有限公司&#xff08;以下简称“吉利科技”&#xff09;联合企企通成功召开SRM采购供应链管理项目启动会。企企通与吉利科技高层、项目负责人与团队成员出席此次启动会。 双方将携手在企业供应商全生命周期管理、采购全流程、电子招投标、采购分析…...

营销型网站怎么收费标准/设计网络推广方案

正确的使用键盘上的符号可以在帮助你在编写简单脚本时充分应用各种技巧[Tab] 用于自动补齐一个命令和路径或文件名[rootlocalhost ~]# user 在输入user 后连按键盘上的[Tab]键两下&#xff0c;可以将以user开头的命令列出[rootlocalhost ~]# usera 在输入usera后连按键盘上的[T…...

哈尔滨做网站seo的/如何进行网站推广?网站推广的基本手段有哪些

故事是这样发生的&#xff1a;前几天和同事在公司吃饭&#xff0c;同事讲起他早年间相亲的故事。女方是某IT公司的HR&#xff0c;研究生学历&#xff0c;两人第一次见面的一段对话&#xff0c;觉得非常的有意思。 两人是共同的朋友介绍的&#xff0c;第一次见面地点商定在一家餐…...

外星人做的网站/百度收录快的发帖网站

设计人员往往忽略高容量、多层陶瓷电容(MLCC)随其直流电压变化的特性。所有高介电常数或II类电容(B/X5R R/X7R和F/Y5V特性)都存在这种现象。然而&#xff0c;不同类型的MLCC变化量区别很大。Mark Fortunato曾经写过一篇关于该主题的文章&#xff0c;给出的结论是&#xff1a;您…...

合肥响应式网站建设/爱站网站长seo综合查询

分析linux中断中常用的两个中断函数&#xff1a;Disable_irq(int irq)Enable_irq(int irq)第一步&#xff1a;●对于关中断跟踪代码到arch/arm/kernel/irq.cvoid disable_irq(unsigned int irq){struct irqdesc *desc irq_desc irq;disable_irq_nosync(irq);if (desc->act…...

wordpress域名访问/千锋教育的真实性

今天调试用例的脚本去调用封装好的日志模块(算是补充前面的写Python日志logging模块的使用的一个小bug吧)&#xff0c;出现写入多个日志文件的问题&#xff0c;看下运行的效果分析:一共运行了4条myLog.logger().inf()(except异常那条不算)&#xff0c;出现了4个日志文件&#x…...

做公司网站协议书模板下载/百度下载老版本

地区 Photon Cloud 为您提供全球连接性&#xff0c;允许全世界的低延迟游戏。客户端的初始连接将连接到Photon Name Server&#xff0c;该服务器提供可用区域的列表。每个区域完全独立于其他区域&#xff0c;由主服务器&#xff08;用于配对&#xff09;和游戏服务器&#xff…...