【JavaSE】:String类(一):基本使用方法

String类

  • 一.String类的基本构成
  • 二.字符串比较
    • 1.比较相等
    • 2.比较大小
  • 三.字符串查找
  • 四.字符串转换
  • 五.字符串替换
  • 六.字符串的拆分
  • 七.字符串的截取
  • 八.其他操作方法

在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类。

一.String类的基本构成

String类提供的构造方式非常多,常用的就以下三种:

在这里插入图片描述

String类实际上只有两个成员变量。

在这里插入图片描述

在这里插入图片描述

可以看到其实就是把字符串放到value数组里,但是没有/0。

在这里插入图片描述

在Java中“”引起来的也是String类型对象

在这里插入图片描述

在这里插入图片描述

二.字符串比较

1.比较相等

在这里插入图片描述

在这里插入图片描述

因为直接使用==是判断的地址是否相同,所以如果使用new,很明显地址不同所以是false。而要判断内容是否相同需要使用equals(当然object类里也有equals是比较地址的,但String重写了)。

在这里插入图片描述

在这里插入图片描述

2.比较大小

与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。具体比较方式:

  1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值。
  2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值。

在这里插入图片描述

在这里插入图片描述

int compareToIgnoreCase(String str) 方法:与compareTo方式相同,但是忽略大小写比较。

在这里插入图片描述

在这里插入图片描述

三.字符串查找

在这里插入图片描述

在这里插入图片描述

四.字符串转换

数字转字符串

在这里插入图片描述

在这里插入图片描述

字符串转数字

在这里插入图片描述

在这里插入图片描述

大小写转换

在这里插入图片描述

在这里插入图片描述

数组字符串转换

在这里插入图片描述

在这里插入图片描述

格式化

在这里插入图片描述

在这里插入图片描述

五.字符串替换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六.字符串的拆分

字符串全部拆分

在这里插入图片描述

在这里插入图片描述

字符串部分拆分

加粗样式

在这里插入图片描述
拆分是特别常用的操作 另外有些特殊字符作为分割符可能无法正确切分, 需要加上转义。

拆分ip地址

在这里插入图片描述

在这里插入图片描述

单独的.是无法识别的,需要使用\进行转义,而\也需要转义,所以就有\表示。

  1. 字符"|“,”*“,”+"都得加上转义字符,前面加上 “\” .
  2. 而如果是 “” ,那么就得写成 “\\” .
  3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符

多次拆分

在这里插入图片描述

在这里插入图片描述

七.字符串的截取

在这里插入图片描述

在这里插入图片描述

八.其他操作方法

在这里插入图片描述

trim

在这里插入图片描述

在这里插入图片描述

大小写转换

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

【软件推荐】卸载360软件geek;护眼软件flux;

卸载360软件geek f.lux: software to make your life better (justgetflux.com) 卸载完扫描残留 护眼软件 hf.lux: software to make your life better (justgetflux.com)https://justgetflux.com/https://justgetflux.com/

INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题

INFINI Labs 产品又更新啦~,本次更新主要对 Easysearch、Gateway、Console、Agent 等产品功能进行优化和相关 Bug 修复,解决了内存异常增长等问题,以下是详细说明。 INFINI Easysearch v1.6.2 INFINI Easysearch 是一个分布式的近实时搜索与…

YOLOv8改进 | 2023 | AKConv轻量级架构下的高效检测(可变核卷积)

一、本文介绍 本文给大家带来的改进内容是AKConv(可变核卷积)是一种创新的卷积神经网络操作,它旨在解决标准卷积操作中的固有缺陷(采样形状是固定的),AKConv的核心思想在于它为卷积核提供了任意数量的参数…

最小化安装 Neokylin7.0 用于搭建 Hadoop 集群

文章目录 环境搭建背景虚拟机创建和环境配置安装过程注意事项虚拟机设置软件选择KOUMP系统分区网络和主机名打开以太网,并记录信息配置 IPv4修改主机名 创建用户 hadoop完全分布式搭建-CSDN博客 环境搭建背景 为什么不从hadoop100或者hadoop101开始,而是…

【Python表白系列】这个情人节送她一个漂浮的爱心吧(完整代码)

文章目录 漂浮的爱心环境需求完整代码详细分析系列文章 漂浮的爱心 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这…

外包搞了6年,技术退步明显......

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

对 Vision Transformers 及其基于 CNN-Transformer 的变体的综述

A survey of the Vision Transformers and its CNN-Transformer based Variants 摘要1、介绍2、vit的基本概念2.1 patch嵌入2.2 位置嵌入2.2.1 绝对位置嵌入(APE)2.2.2 相对位置嵌入(RPE)2.2.3卷积位置嵌入(CPE) 2.3 注意力机制2.3.1多头自我注意(MSA) 2.4 Transformer层2.4.1 …

【精选】VulnHub Shuriken-1 (超详细过程思路)

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

spring @Autowired 和 @Qualifier 配合使用实现按名称属性赋值源码

一、调用过程 1、QualifierAnnotationAutowireCandidateResolver.java用于解析注解候选类,在构造器中往qualifierTypes集合中添加注解类。 2、执行逻辑 (1)、接着上篇博客【Spring之Autowired 属性多实现和单实现源码解析 】AutowiredAnnot…

【话题】程序员养生指南(AI生成)

目录 程序猿可能出现的职业病有哪些? 如何预防和对付这些职业病? 一、颈椎病的预防 二、神经衰弱的调适 三、肩周炎的防护 四、视力下降的保护 五、饮食与运动的重要性 六、消化系统职业病的预防 程序员养生心得:呵护健康&#xff0c…

每天五分钟计算机视觉:经典的卷积神经网络之VGG-16模型

VGG-16 Vgg16是牛津大学VGG组提出来的,相比于AlexNet来说,AlexNet的一个改进是采用连续的几个4*3的卷积核来代替AlexNet中的较大的卷积核(11*11,5*5)。前面我们也说过了使用小卷积核是优于大的卷积核的,因为多层非线性层可以增加网络深度来保证学习到更加复杂的模式,而且代…

Vlan配置

需求 1 PC1和PC3所在接口为Access接口 PC2/4/5/6处于同一网段,其中pc2可以访问pc4/5/6 PC4可以访问pc5,但不能访问pc6 PC5不能访问PC6 2 PC1/3与PC2/4/5/6不再同一网段 3 所有PC通过DHCP获取IP地址,且PC1/3可以正常访问PC2/4/5/6 R1 [V200R00…

(下)11.24_苍穹外卖后端二刷day11day12笔记

其实后面已经没有什么好写的了,就随便写写 day11-5 . StringUtils.join 的用处是将datalist里面的元素一个个取出来,然后用“,” 拼接起来,形成一个字符串类型。 day11-6 LocalDateTime.of 的用处是获取date(因为…

算法通关村第六关—二叉树的层次遍历经典问题(白银)

二叉树的层次遍历经典问题 一、层次遍历简介 广度优先遍历又称层次遍历,过程如下:  层次遍历就是从根节点开始,先访问根节点下面一层全部元素,再访问之后的层次,图里就是从左到右一层一层的去遍历二叉树&#xff0c…

LangChain的函数,工具和代理(三):LangChain中轻松实现OpenAI函数调用

在我之前写的两篇博客中:OpenAI的函数调用,LangChain的表达式语言(LCEL)中介绍了如何利用openai的api来实现函数调用功能,以及在langchain中如何实现openai的函数调用功能,在这两篇博客中,我们都需要手动去创建一个结构比较复杂的函数描述变量…

leetCode 131.分割回文串 + 动态规划 + 回溯算法 + 优化 + 图解 + 笔记

我的往期文章: leetCode 647.回文子串 动态规划 优化空间 / 中心扩展法 双指针-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/133883091?spm1001.2014.3001.5501leetCode 131.分割回文串 回溯算法 图解 笔记-CSDN博客https://blog.csdn.n…

杏色主题卧室书房一体装修,温馨舒适的不二之选!福州中宅装饰,福州装修

分享一间暖杏色系卧室装修案例,希望可以给你们一些启发! 01.配色:杏色;浅杏色;浅咖色;咖色;茶色 你是否想要一个宁静而优雅的居室,融合了卧室与书房的功能,提供既实用又…

java基础语法总结

导言: Java语言是一种面向对象的编程语言,具有简单、可移植、安全、高性能等特点。本篇文章主要对java的基础的语法进行一个简单的总结和概述。 目录 导言: 正文: 1. 数据类型与变量 2. 运算符与逻辑控制 3. 方法 4. 数组…

如何在C/C++中测量一个函数或者功能的运行时间(串行和并行,以及三种方法的实际情况对比)

本文算是一个比较完整的关于在 C/C 中测量一个函数或者功能的总结,最后会演示三种方法的对比。 最常用的clock() 最常用的测量方法是使用clock()来记录两个 CPU 时间点clock_t,然后做差。这个方法的好处在于非常简单易写,如下(第…

探究Kafka原理-4.API使用

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请&#x1f44…