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

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

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

相关文章

机器学习基础知识(1)

什么是机器学习 机器学习是一种通过输入大量数据来构建一种模型(网络),这个训练好的模型将会被用来预测或执行某些操作,这个训练的过程和方法就是机器学习。 我们也可以理解为构建一个“函数”,使得这个函数面对我们…

【第一阶段】kotlin的range表达式

range:范围:从哪里到哪里的意思 in:表示在 !in:表示不在 … :表示range表达式 代码示例: fun main() {var num:Int20if(num in 0..9){println("差劲")}else if(num in 10..59){println("不及格")}else if(num in 60..89…

神码ai伪原创【php源码】

大家好,小编为大家解答python必备常用英语词汇笔记的问题。很多人还不知道python中常用的英语单词,现在让我们一起来看看吧! 火车头采集ai伪原创插件截图: 一.什么是注释 注释是对一段代码的解释,不参与程序运行&…

岩土工程仪器多通道振弦传感器信号转换器应用于隧道安全监测

岩土工程仪器多通道振弦传感器信号转换器应用于隧道安全监测 多通道振弦传感器信号转换器VTI104_DIN 是轨道安装式振弦传感器信号转换器,可将振弦、温度传感器信号转换为 RS485 数字信号和模拟信号输出,方便的接入已有监测系统。 传感器状态 专用指示灯方…

怎么采集网址、图片地址等标签属性

如果只想采集网址、图片地址等HTML标签属性的值,要怎么采集呢? 可以使用简数采集器,有对应的快捷提取方式,一键即可转换为采集网址、采集图片地址方式,非常方便快捷。 也可以自行设置高级提取,提取Html标…

生活小妙招之UE custom Decal

因为这几年大部分时间都在搞美术,所以博客相关的可能会鸽的比较多,阿巴阿巴 https://twitter.com/Tuatara_Games/status/1674034744084905986 之前正好看到一个贴花相关的小技巧,正好做一个记录,也在这个的基础上做一些小的拓展…

REDIS哨兵模式

目录 前言 一、哨兵模式概念 二、作用 三、缺点 四、结构 五、搭建 总结 前言 Redis哨兵模式是一种用于实现Redis高可用性的机制。在哨兵模式下,有一个或多个哨兵进程监控Redis主节点和从节点的状态,并在主节点出现故障时自动将一个从节点升级为新的主节…

《Kali渗透基础》14. 无线渗透(四)

kali渗透 1:相关工具1.1:Aircrack-ng1.1.1:airmon-ng1.1.2:airodump-ng1.1.3:aireplay-ng1.1.4:airolib-ng1.1.5:bessid-ng 1.2:JTR1.3:Evil Twin Attacker1.4&#xff1…

微信小程序下拉刷新

小程序中的下拉刷新 - 掘金

金融反欺诈的应用实践

“根据980起全球重大金融欺诈事件分析,60%的欺诈发生在移动端,同比增长170%。“,在香港近日举办的金融科技沙龙上,顶象金融业务安全专家史博表示,金融业已成为不法分子重要的攻击对象。 本届金融科技沙龙由Databricks…

Blazor前后端框架Known-V1.2.11

V1.2.11 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。 Gitee: https://gitee.com/known/KnownGithub:https://github.com/known/Known 概述 基于C#和Blazo…

【香瓜说职场】建立公司(2017.07.25)

自从17年4月份开始辞职创业,已经3个多月了。跟大家分享一下创业经历。 一、我的合伙人 我的合伙人是我的客户。我给他上过蓝牙教学课、帮他做了个蓝牙自拍器(叫orbit 360,已在售,百度能搜到),历经一年多。双…

MySQL — MVCC

文章目录 MVCCMVCC 实现原理隐藏字段undo logundo log的用途undo log类型 版本链ReadView MVCC InnoDB是一个多版本的存储引擎。它保留有关已更改行的旧版本的信息,以支持并发和回滚等事务性特性。这些信息存储在undo表空间中的数据结构称为回滚段。InnoDB使用回滚…

GD32F103的EXTI中断和EXTI事件

GD32F103的EXTI可以产生中断,也产生事件信号。 GD32F03的EXTI触发源: 1、I/O管脚的16根线; 2、内部模块的4根线(包括LVD、RTC闹钟、USB唤醒、以太网唤醒)。 通过配置GPIO模块的AFIO_EXTISSx寄存器,所有的GPIO管脚都可以被选作EXTI的触发源…

ClickHouse(十一):Clickhouse MergeTree系列表引擎 - MergeTree(1)

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,Kerberos安全认证,大数据OLAP体系技术栈-CSDN博客 &…

【Pytorch+torchvision】MNIST手写数字识别

深度学习入门项目,含代码详细解析 在本文中,我们将在PyTorch中构建一个简单的卷积神经网络,并使用MNIST数据集训练它识别手写数字。 MNIST包含70,000张手写数字图像: 60,000张用于培训,10,000张用于测试。图像是灰度(即…

(亲测解决)PyCharm 从目录下导包提示 unresolved reference(完整图解)

最近在进行一个Flask项目的过程中遇到了unresolved reference 包名的问题,在网上找了好久解决方案,并没有一个能让我一步到位解决问题的。 后来,我对该问题和网上的解决方案进行了分析,发现网上大多数都是针对项目同一目录下的py…

PHP Mysql查询全部全部返回字符串类型

设置pdo属性 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

MongoDB 入门

1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据? 数据(英语:data),是指未经过处理的原始记录。 一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意…

MySQL 慢查询探究分析

目录 背景: mysql 整体结构: SQL查询语句执行过程是怎样的: 知道了mysql的整体架构,那么一条查询语句是怎么被执行的呢: 什么是索引: 建立索引越多越好吗:   如何发现慢查询&#xff1…