Java面试八股之String类的常用方法有哪些

news2024/11/24 11:01:55
  1. Java中String类的常用方法有哪些

获取字符串信息:

length():返回字符串的字符数。

isEmpty():判断字符串是否为空(即长度为0)。

访问单个字符:

charAt(int index):返回指定索引处的字符。

子字符串操作:

substring(int beginIndex):返回从指定索引开始到字符串末尾的子字符串。

substring(int beginIndex, int endIndex):返回指定索引范围内的子字符串。

字符串比较:

equals(Object anObject):判断两个字符串是否相等。

equalsIgnoreCase(String anotherString):忽略大小写比较两个字符串是否相等。

compareTo(String anotherString):按照字典顺序比较两个字符串,返回负数、零或正数表示小于、等于或大于。

compareToIgnoreCase(String str):忽略大小写按字典顺序比较两个字符串。

模式匹配与查找:

contains(CharSequence s):判断字符串是否包含指定的字符序列。

startsWith(String prefix):判断字符串是否以指定前缀开始。

startsWith(String prefix, int toffset):判断字符串从指定偏移量开始的部分是否以指定前缀开始。

endsWith(String suffix):判断字符串是否以指定后缀结束。

indexOf(String str):返回指定子字符串在原字符串中首次出现的索引,未找到则返回-1。

indexOf(String str, int fromIndex):从指定索引开始搜索,返回指定子字符串在原字符串中首次出现的索引,未找到则返回-1。

lastIndexOf(String str):返回指定子字符串在原字符串中最后一次出现的索引,未找到则返回-1。

lastIndexOf(String str, int fromIndex):从指定索引开始反向搜索,返回指定子字符串在原字符串中最后一次出现的索引,未找到则返回-1。

字符串拼接与连接:

concat(String str):将指定字符串与原字符串连接在一起,生成新的字符串。

字符串替换与修改:

replace(char oldChar, char newChar):将字符串中所有出现的指定字符替换为新字符,返回新字符串。

replace(CharSequence target, CharSequence replacement):将字符串中所有出现的指定字符序列替换为新字符序列,返回新字符串。

replaceAll(String regex, String replacement):使用正则表达式替换所有匹配项,返回新字符串。

replaceFirst(String regex, String replacement):使用正则表达式替换第一个匹配项,返回新字符串。

大小写转换:

toLowerCase():将字符串转换为全小写。

toUpperCase():将字符串转换为全大写。

编码与解码:

getBytes():使用平台默认字符集将字符串编码为字节数组。

getBytes(String charsetName):使用指定字符集将字符串编码为字节数组。

String(byte[] bytes):使用平台默认字符集将字节数组解码为字符串。

String(byte[] bytes, String charsetName):使用指定字符集将字节数组解码为字符串。

trim与空白处理:

trim():去除字符串两端的空白字符,返回新字符串。

strip()(Java 11及以上):同trim(),根据Unicode标准去除字符串两端的空白字符。

isBlank()(Java 11及以上):判断字符串是否仅包含空格、制表符、换行符等Unicode空白字符,或为空。

isEmpty():判断字符串是否为空(长度为0)。

分割字符串:

split(String regex):根据给定正则表达式将字符串分割成多个子字符串数组。

字符串转整型或其他类型:

Integer.parseInt(String s):将字符串解析为整数。

Double.parseDouble(String s):将字符串解析为双精度浮点数。

其他类似方法,如Long.parseLong, Float.parseFloat, Boolean.parseBoolean等,用于将字符串转换为特定数据类型。

 如果大家需要视频版本的讲解,欢迎关注我的B站:

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

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

相关文章

InstantStyle —— 文本到图像生成中的风格保持新突破

在人工智能领域,文本到图像生成(Text-to-Image Generation)技术正迅速发展,其应用范围从娱乐到专业设计不断扩展。然而,风格一致性生成一直是该领域的一个技术难题。最近,InstantX团队提出了一种名为Instan…

GEVernova推出GEV新能源平台,引领新能源未来

近日,全球领先的能源设备制造和服务公司 GE Vernova 宣布推出 GEV 新能源平台,这是一个将金融、科技和产业深度融合的全新投资平台。GEV 新能源平台旨在为用户提供一站式可持续新能源投资解决方案,助力全球新能源转型和可持续发展。 新能源已…

vs-qt中无法加载qsqlite驱动,但是单独新建demo测试却又是正常的。。。

开发环境: Vs2015 + qt5.12 背景: 接手了一个项目,可以编译过去,也可以运行,, 但是登录一直失败,,但是数据库文件也是正常的。。。 最主要的是环境和同事的是一样的,,,但是他那边可以加载成功,我这边不可以。。 后来单独在vs中创建了一个demo,用来测试QSqlData…

如何高效管理微信?快速掌握捷径!

对于那些需要管理多个微信号的人来说,如何高效地管理这些账号成为了一个难题。今天,就给大家分享一个管理多个微信号的捷径——微信管理系统。 通过微信管理系统,你可以轻松实现高效管理多个微信号,一起来看看吧! 首…

一文汇总对比英伟达、AMD、英特尔显卡GPU

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主 📑上期文章:『【仪酷LabVIEW AI工具包案例】使用LabVIEW AI工具包YOLOv5结合Dobot机械臂实现智能垃圾分类』 🍻本文由virobotics(仪酷…

C语言/数据结构——每日一题(环形链表)

一.前言 今天在力扣上刷到一道链表题——环形链表https://leetcode.cn/problems/linked-list-cycle 想着和大家们分享一下。让我们直接开始今天的分享吧。、 二.正文 1.1题目描述 1.2题目分析 这道题是想让我们做出分析,该链表是不是带环链表,如果是…

mac定时任务、自启动任务

https://quail.ink/mynotes/p/mac-startup-configuration-detailed-explanation <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.d…

DIFT:Emergent Correspondence from Image Diffusion # 论文阅读

URL https://arxiv.org/pdf/2306.03881 主页&#xff1a;https://diffusionfeatures.github.io/ 代码&#xff1a;https://github.com/Tsingularity/dift TD;DR 23 年 6月 cornell 大学的文章&#xff0c;任务是做图片的特征匹配&#xff08;关联&#xff09;&#xff0c;特…

Github入门10问,收藏~

Github是Python开发中最常用到的工具和资源&#xff0c;Github上Python相关的仓库多达300多万个&#xff0c;但有很多人还不知道怎么去使用Github&#xff0c;这里来通过10个问题来科普下。 什么是GitHub&#xff1f;为什么要学习使用GitHub&#xff1f;如何创建GitHub账户&…

VTK —— 三、标准格式 - 示例1 - 读取建模不同格式模型(支持.ply、.vtp、.obj、.stl、.vtk、.g等模型格式)(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

宝塔面板各种疑难杂症处理命令教程

下载地址&#xff1a;宝塔面板各种疑难杂症处理命令教程 这份宝塔面板各种疑难杂症处理命令教程&#xff0c;可以解决市面上遇到的各种难题&#xff0c;建议有技术能行的下载使用&#xff0c;小白也可以下载来学习可以帮助你解决宝塔面板遇到的各种难题

Java面试八股之什么是Java反射

什么是Java反射 基本概念 反射是Java语言的一个重要特性&#xff0c;它允许我们在运行时分析类、接口、字段、方法等组件的信息&#xff0c;并能够动态地操作这些组件&#xff0c;包括创建对象、调用方法、访问和修改字段值等。简单来说&#xff0c;反射提供了在程序运行时对…

镊子蜡烛如何抓住反转进行交易?昂首资本2步抓住反转

很多投资者通过之前的文章知道镊子烛台图&#xff0c;甚至可以通过镊子烛台图有多倍收益&#xff0c;但是很多投资者又迷惑了&#xff0c;为什么我没有通过镊子烛台图获得收益&#xff0c;甚至有时还会亏损收手。其实事情很容易理解&#xff0c;Anzo Capital昂首资本认为那是因…

MES管理系统在柔性制造中有何重要作用

在当今这个瞬息万变的商业环境中&#xff0c;制造业正经历着一场前所未有的转型。消费者需求的多样化和市场动态的快速变化要求企业必须具备高度的灵活性和适应性。为了应对这些挑战&#xff0c;柔性制造策略应运而生&#xff0c;它以其快速响应和灵活调整的能力&#xff0c;成…

WWW服务器搭建(2)——Apache服务器配置与管理

一、Apache简介 1.1 关于Apache Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的Web服务器&#xff0c;可以在大多数计算机操作系统中运行&#xff0c;由于其跨平台和安全性被广泛使用&#xff0c;是最流行的Web服务器端软件之一。…

2024 年中国大学生程序设计竞赛全国邀请赛(郑州)暨第六届CCPC河南省大学生程序 设计竞赛Problem L. Toxel 与 PCPC II

//sort bug下标 遍历dp. //没修负的bug肯定连续 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c[n],dp[n]; signed main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>a>>b;for(int i1;…

彻底搞定找不到msvcp100.dll,无法继续执行代码的问题

当您在使用电脑过程中遇到程序运行异常&#xff0c;提示“缺失msvcp100.dll文件”时&#xff0c;不必过于焦虑&#xff0c;此问题可通过一系列简单步骤得到有效解决。MSVCP100.dll是Microsoft Visual C库的一部分&#xff0c;主要用于支持某些应用程序运行所需的特定功能。如果…

C++ 派生类的引入与特性

一 继承与派生 从上面的例子可以看出&#xff1a; 继承&#xff1a;一旦指定了某种事物父代的本质特征&#xff0c;那么它的子代将会自动具有哪些性质。这就是一种朴素的可重用的概念。 派生&#xff1a;而且子代可以拥有父代没有的特性&#xff0c;这是可扩充的概念。 1 C 的…

论文翻译及部分笔记:LANDMARC: Indoor Location Sensing Using Active RFID

LANDMARC: Indoor Location Sensing Using Active RFID 摘要 移动计算设备和嵌入式技术的日益融合引发了“上下文感知”应用的发展和部署&#xff0c;其中位置是最重要的上下文。在本文中&#xff0c;我们介绍了一种名为LANDMARC的定位感知原型系统&#xff0c;该系统使用射频识…

四川汇昌联信:拼多多网点怎么开?大概需要多少钱?

想要开一家拼多多网点&#xff0c;你肯定很关心需要准备多少资金。下面&#xff0c;我们就来详细解答这个问题&#xff0c;并从多个角度分析开设网点的要点。 一、 开设拼多多网点&#xff0c;首要任务是确定启动资金。根据不同的经营模式和地区差异&#xff0c;成本会有所不同…