第13天 String,正则表达式,String 支持正则表达式,object,JavaBean

String

字符串.charAt(索引值):获取字符串中索引处的字符
char[] chars = 字符串.tocharArray(); : 将字符串转换为字符数组

String s = new String(字符数组名,起始索引,截取字符串总共的长度) :截取一部分字符数组转化为字符串
String s = new String(字符数组名):将全部字符数组转化为字符串

字符串1(对象).compareTo(字符串2(参数)):字符串是以字节数组形式存储的,当比较两个字符数组的时候是进行逐位比较,从左到右比较是否相等,相等就跳过,比较下一个,不相等就输出(str1的阿斯克码值-str2的阿斯克码值)并且不再向后比较。

string.join(“分隔符”,“要分割的值”“要分割的值”“要分割的值”)

字符串.contains(“查找是否包含的字符串”)如果包含,返回true

字符串.endsWith(“判断字符串是否以字符结尾”)

字符串.startsWith(“判断字符串是否以字符开始”)

" ".equals();
" ".equalsIgnoreCase;

byte[] bytes = 字符串.getBytes(); 将字符串中的字符转化为字节数组

UTF-8编码下一个汉字占三个字节;
gbk编码下一个汉字占两个字节;

字符串名.toUpperCase() : 将字符变为大写
字符串名.toLowerCase() : 将字符变为小写

字符串的哈希码值是固定的

字符串.indexOf(“要找的字符”,“从哪个索引开始查找”) : 获取要找的字符出现的第一个位置,找不到就返回-1;

字符串.intern():只显示值,不判断类型
字符串.isEmpy :是否是一个空字符串,包含空格
字符串.isBlank() :不包含空格看是否是一个空字符串

str.lastIndexOf(“需要找的字符串”) : 输出在字符串中的最后的位置
str.lastIndexOf(“需要找的字符串”,数字): 从数字之前向左找最近的字符串,如果数字位置恰好在需要找字符串的一部分,则不向前找,直接输出那个位置,即便只有一部分

str.replace(旧字符串,需要替换的新字符串)
str.substring(从这个索引后输出全部字符)
str.substring(1,3) : 从一索引输出,到2索引结束

正则表达式

字符串名.matches(“”)
返回true或者false
. 代表任意字符
\d 代表 [0-9]
\w 代表任意一个单词字符,等同于[a-zA-Z0-9_] 字母数字和下划线
\D 不是数字

[] 中括号表示匹配其中任意一个字符

[abc]? 表示可以匹配a或b或c或者什么也不写,不是a和b和c,其间的内容是或的关系

‘+’ 代表之前的字符至少出现了一次
'*'代表之前的字符可有可无
'?'代表之前的字符最多出现一次

正则数量词

[字符]+{n} : 这个字符恰好出现n次
[字符]+{n,}:这个字符出现n次及以上
[字符]+{n,m}:这个字符最少出现n次,最多出现m次

分组

()使用小括号
(abc){3} 表示abc整体出现3次
(abc|def){3} 表示abc整体或者def整体一共出现3次 abcdefabc




String支持正则表达式方法

matches()

boolean match = 字符串变量名1.matches(正则表达式的字符串变量名2)

//字符串1是否符合正则表达式字符串变量名2,符合返回true,不符合返回false

replaceAll():替换

将当前字符串中满足正则表达式的部分全部替换为指定的字符串

String line = “isudf23231sdgniog2354”
字符串变量1 = 字符串变量1.replaceAll(“正则表达式”,“满足正则表达式部分要替换的字符串”)

split() 拆分

将当前字符串按照满足正则表达式的部分进行拆分,将拆分出的以String[]形式返回,相隔的字符用逗号分隔

String[] 字符串数组名 = 字符串名.split(“正则表达式”)

Array.toString(字符串数组的名)—>将字符串数组转化为字符串

注意:1. 如果正则表达式需要分隔字符串在第一个元素,则在字符串中以空字符串代替,只有一个逗号,前面什么也没有
2. 如果需要分隔的元素在字符串最后,则在输出时忽略
3. 如果有连续两个需要分隔的符号,则会输出一个空字符串

JavaBean

JavaBean的三点规则

  1. 属性都是私有的 private
  2. 提供私有属性对应的getter\setter
  3. 必须有一个无参的构造方法

object

所有类的直接间接继承的类,顶级父类

所有类默认继承Object类
为了多态,向上继承

两个常用的被重写的方法

toString

使用构造方法时,就会输出引用变量,默认会调用Object类的toString()方法
如果直接sout这个引用变量,输出的字符串格式为:类的全称@hashcode值,但这个结果对于我们来说没有意义,我们想要输出的是对象的属性值。使用默认的toString不能满足要求,需要重写Object的toString方法

equals

默认调用object类的equals(),内部还是在用==比较地址,没有参考意义,若想比较new出来的两个对象的属性值是否相同,需要重写equals()来比较属性值是否相同
重写alt+insert equals and hashcode()
重写之后就可以用equals比较属性值是否相等

Object类不能装八种包装类,其他的类都可以装

String和包装类在内部重写了equals,所以用equals比较字符串比较属性值.StringBuileder类没有重写equals(),比较的不是属性值。equals两边的类型要相同

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

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

相关文章

git误操作版本回退的方法

场景:在使用git进行代码提交的时候不小心执行了git reset 命令进行了版本回退但是在这之前进行了git add . git commit -m "提交"等命令,正常情况下就可以直接使用 git reset 版本号 进行代码的回退,但是发现自己不能找打上一个提…

机器学习:逻辑回归

概念 首先,逻辑回归属于分类算法,是线性分类器。我们可以认为逻辑回归是在多元线性回归的基础上把结果给映射到0-1的区间内,hθ(x)越接近1越有可能是正例,反之,越接近0越有可能是负例。那么&am…

IC设计数据传输 如何能保障安全高效?

IC(集成电路)设计数据,对于IC设计企业来说,其重要性不言而喻。所以IC设计数据传输过程中,其安全性和效率,也需要有保障。 首先我们来看看IC设计数据为什么重要,其重要性体现在多个方面&#xff…

edge 入门基础了解使用

随着Windows 11的发布,Microsoft Edge也迎来了新的更新和改进。作为一名长期使用Edge的用户,我不仅注意到了这些表面的变化,还深入研究了Edge在Windows 11上的新特性和潜在优势。 快捷方式 查找框 在Microsoft Edge浏览器中,按…

踩坑Mybatis + Mybatis-plus + MyBatis-plus-join

数据库里有两张表 tb_bursary和tb_student tb_bursary里关联了tb_student.id作为外键 由于tb_student表可以单独操作,而tb_bursary需要联合tb_student查询 所以一开始,我是用mybatis-plus mybaits混合的模式 mybatis-plus单独操作tb_student表&…

学习 Rust 第 22 天:mini_grep 第 2 部分

书接上文,在本文中,我们学习了如何通过将 Rust 程序的逻辑移至单独的库箱中并采用测试驱动开发 (TDD) 实践来重构 Rust 程序。通过在实现功能之前编写测试,我们确保了代码的可靠性。我们涵盖了基本的 Rust 概念,例如错误处理、环境…

小程序SSL证书更新指南

随着网络技术的不断发展,小程序已经成为许多企业和个人进行业务推广和服务提供的重要平台。在享受小程序带来的便利和高效的同时,我们也必须重视其安全性问题。SSL证书作为保障小程序数据传输安全的重要手段,其更新工作不容忽视。本文将为大家…

在线教程|零门槛部署 Llama 3,70B 版本只占 1.07G 存储空间,新用户免费体验 8B 版本

4 月 18 日,Meta 宣布开源 Llama 3,这个号称「迄今为止最好的开源大模型」一经发布,立刻引爆科技圈! 发布当天恰逢斯坦福大学教授、AI 顶尖专家吴恩达的生日,作为 AI 开源倡导者,他激动地发文表示&#xff…

CogAgent:开创性的VLM在GUI理解和自动化任务中的突破

尽管LLMs如ChatGPT在撰写电子邮件等任务上能够提供帮助,它们在理解和与GUIs交互方面存在挑战,这限制了它们在提高自动化水平方面的潜力。数字世界中的自主代理是许多现代人梦寐以求的理想助手。这些代理能够根据用户输入的任务描述自动完成如在线预订票务…

【doghead】ubuntu构建libuv

按照官方的文档2024年3月的版本。首先构建libuv 最终构建的还得了test 构建过程 zhangbin@DESKTOP-1723CM1:/mnt/d/XTRANS/thunderbolt/ayame/zhb-bifrost$ ls Bifrost-202403 README.md draw player-only worker 大神的带宽估计.png zhangbin@DESKTOP-1723CM1:/mnt/d/XTRANS/…

计算机网络 备查

OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元(PDU)和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段,并加上TCP头 4.网络层添加IP地址信息…

React + 项目(从基础到实战) -- 第十期

目标 学会react 状态管理工具 使用redux管理用户状态 Context 跨层级传递,不像props层层传递类似于Vue的provide/inject用于:切换主题颜色,切换语言 useReducer useState 的替代方案 简化版的redux MobX 1. MobX 介绍 MobX 中文文档 声明式的修改数据 , 像vue state ac…

【算法基础实验】图论-UnionFind连通性检测之quick-union

Union-Find连通性检测之quick-union 理论基础 在图论和计算机科学中,Union-Find 或并查集是一种用于处理一组元素分成的多个不相交集合(即连通分量)的情况,并能快速回答这组元素中任意两个元素是否在同一集合中的问题。Union-Fi…

55.基于SpringBoot + Vue实现的前后端分离-旅游管理系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的旅游管理系统设计与实现管理工作系统…

【Node.js工程师养成计划】之express框架

一、Express 官网:http://www.expressjs.com.cn express 是一个基于内置核心 http 模块的,一个第三方的包,专注于 web 服务器的构建。 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用&…

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …

使用量排名前50的GPTs趋势和特征

Chatgpt的gpt商店已经有几千gpts了。目前哪些gpts比较受欢迎呢?有哪些趋势和投资呢? 根据whatplugin.ai(截止日期为2024年3月),使用量最多的50个gpts数据分析结果如下: GPTs类型的分布情况如下: 图像生成…

案例-部门管理-删除

黑马程序员JavaWeb开发教程 文章目录 一、查看页面原型二、查看接口文档三、开发1、Controller2、Service(1)service接口层(3)service实现层 3、Mapper4、Postman 一、查看页面原型 二、查看接口文档 三、开发 1、Controller 因…

Keepalived+LVS实现Nginx集群配置

Nginx1和Nginx2组成集群,为了实现负载均衡,在集群的前端配置了LVS服务,但是一台LVS容器产生单点故障,因此需要过Keepalived实现LVS的高可用集群 192.168.136.55node1keepalived192.168.136.56node2keeplived192.168.136.57 node3n…

Excel 中用于在一个范围中查找特定的值,并返回同一行中指定列的值 顺序不一样 可以处理吗

一、需求 Excel 中,在一列(某范围内)查找另一列特定的值,并返回同一行中另一指定列的值, 查找列和返回列的顺序不一样 二、 实现 1、下面是一个使用 INDEX 和 MATCH 函数的例子: 假设你有以下数据&…
最新文章