Java API类与接口:类的转换方法与正则表达式
文章目录
- Java包装类的概述
- 对应包装类
- 包装类的转换方法(parse)
- Integer.parseInt(String s)
- Long.parseLong(String s)
- Byte.parseByte(String s)
- Short.parseShort(String s)
- Float.parseFloat(String s)
- Double.parseDouble(String s)
- 正则表达式
- 常用方法
- 字符规则
- `.` 匹配除换行符以外的任意单个字符。
- `[abc]` 匹配方括号内的任意一个字符(如 a 、 b 或 c )。
- `[a-z]` 匹配从 a 到 z 的任意一个字符。
- `[A-Z]` 匹配从 A 到 Z 的任意一个字符。
- `[0-9]` 匹配从 0 到 9 的任意一个数字。
- `\w` 匹配任意一个单词字符(等价于 [a-zA-Z0-9_] )。
- `\W` 匹配任意一个非单词字符(等价于 [^a-zA-Z0-9_] )。
- `\d` 匹配任意一个数字(等价于 [0-9] )。
- `\D` 匹配任意一个非数字(等价于 [^0-9] )。
- `|` 匹配 | 左右两边的任意一个表达式。
- 数量规则
- `*`匹配前面的字符零次或多次。
- `+`匹配前面的字符一次或多次。
- `?` 匹配前面的字符零次或一次。
- `{n}` 匹配前面的字符恰好 n 次。
- `{n,}` 匹配前面的字符至少 n 次。
- `{n,m}` 匹配前面的字符至少 n 次,最多 m 次。
Java包装类的概述
在Java中,基本数据类型(如 int , char , boolean 等)不是对象,而是一些简单的数据值。
为了能够将这些基本类型作为对象来操作,Java提供了对应的包装类。
这些包装类位于 java.lang 包中,它们是不可变的,即一旦创建了包装类的对象,就不能改变它的值。
对应包装类
- Long - 封装了基本类型 long
- Integer - 封装了基本类型 int
- Short - 封装了基本类型 short
- Byte - 封装了基本类型 byte
- Double - 封装了基本类型 double
- Float - 封装了基本类型 float
- Character - 封装了基本类型 char
- Boolean - 封装了基本类型 boolean
提供额外的方法包装类提供了一系列方法来处理对应的基本类型数据。
存储在集合中由于集合只能存储对象,因此使用包装类可以将基本类型的数据存储在集合中。
包装类的转换方法(parse)
Integer.parseInt(String s)
将字符串参数解析为有符号十进制整数。如果字符串不能被解析,则抛出 NumberFormatException 。
int num = Integer.parseInt("123");
System.out.println("Parsed integer: " + num); //输出: Parsed integer: 123
Long.parseLong(String s)
将字符串参数解析为有符号十进制长整数。如果字符串不能被解析,则抛出 NumberFormatException 。
long num = Long.parseLong("1234567890123456789");
System.out.println("Parsed long: " + num); //输出: Parsed long:
1234567890123456789
Byte.parseByte(String s)
将字符串参数解析为有符号十进制字节。如果字符串不能被解析,则抛出 NumberFormatException 。
byte num = Byte.parseByte("127");
System.out.println("Parsed byte: " + num); // 输出: Parsed byte: 127
Short.parseShort(String s)
将字符串参数解析为有符号十进制短整数。如果字符串不能被解析,则抛出 NumberFormatException 。
short num = Short.parseShort("32767");
System.out.println("Parsed short: " + num); // 输出: Parsed short: 32767
Float.parseFloat(String s)
将字符串参数解析为浮点数。如果字符串不能被解析,则抛出 NumberFormatException 。
float num = Float.parseFloat("123.45");
System.out.println("Parsed float: " + num); // 输出: Parsed float: 123.45
Double.parseDouble(String s)
将字符串参数解析为双精度浮点数。如果字符串不能被解析,则抛出 NumberFormatException 。
double num = Double.parseDouble("123.456789");
System.out.println("Parsed double: " + num); // 输出: Parsed double: 123.456789
正则表达式
正则表达式是一种强大的文本匹配工具,可以用来查找、替换、分割字符串等。
在Java中, String 类也提供了一些直接使用正则表达式的方法,如 matches() 、 split() 、
replaceAll() 等。
常用方法
- matches(String regex): 判断该字符串是否匹配给定的正则表达式。如果整个字符串匹配成功,则返
回 true ;否则返回 false 。 - split(String regex): 根据给定的正则表达式将字符串分割成一个数组。
- replaceAll(String regex, String replacement): 替换所有匹配给定正则表达式的子字符串。
字符规则
. 匹配除换行符以外的任意单个字符。
a.b 可以匹配 a1b 、 a2b 等。
[abc] 匹配方括号内的任意一个字符(如 a 、 b 或 c )。
[abc] 可以匹配 a 、 b 或 c 。
[a-z] 匹配从 a 到 z 的任意一个字符。
[a-z] 可以匹配 a 、 b 、 c 等。
[A-Z] 匹配从 A 到 Z 的任意一个字符。
[A-Z] 可以匹配 A 、 B 、 C 等。
[0-9] 匹配从 0 到 9 的任意一个数字。
[0-9] 可以匹配 0 、 1 、 2 等。
\w 匹配任意一个单词字符(等价于 [a-zA-Z0-9_] )。
\w 可以匹配 a 、 B 、 0 、 _ 等。
\W 匹配任意一个非单词字符(等价于 [^a-zA-Z0-9_] )。
\W 可以匹配 ! 、 @ 、 # 等。
\d 匹配任意一个数字(等价于 [0-9] )。
\d 可以匹配 0 、 1 、 2 等。
\D 匹配任意一个非数字(等价于 [^0-9] )。
\D 可以匹配 a 、 b 、 c 等。
| 匹配 | 左右两边的任意一个表达式。
cat|dog 可以匹配 cat 或 dog 。
数量规则
*匹配前面的字符零次或多次。
a* 可以匹配 a 、 aa 、 aaa 以及空字符串。
+匹配前面的字符一次或多次。
a+ 可以匹配 a 、 aa 、 aaa ,但不匹配空字符串。
? 匹配前面的字符零次或一次。
a? 可以匹配 a 以及空字符串。
{n} 匹配前面的字符恰好 n 次。
a{3} 只能匹配 aaa 。
{n,} 匹配前面的字符至少 n 次。
a{3,} 可以匹配 aaa 、 aaaa 等。
{n,m} 匹配前面的字符至少 n 次,最多 m 次。
a{2,4} 可以匹配 aa 、 aaa 、 aaaa ,但不匹配 a 或 aaaaa 。
相关文章:
Java API类与接口:类的转换方法与正则表达式
文章目录 Java包装类的概述对应包装类包装类的转换方法(parse)Integer.parseInt(String s)Long.parseLong(String s)Byte.parseByte(String s)Short.parseShort(String s)Float.parseFloat(String s)Double.parseDouble(String s) 正则表达式常用方法 字符规则. 匹配…...
OceanBase JDBC (Java数据库连接)的概念、分类与兼容性
本章将介绍 OceanBase JDBC的 概念与分类,已帮助使用 JDBC 的用户及技术人员更好的 了解JDBC,以及 OceanBase JDBC在与 MySQL 及 Oracle 兼容性方面的相关能力。 一、JDBC 基础 1.1 JDBC 的概念 JDBC 一般指 Java 数据库连接。Java 数据库连接…...
Linux服务器定时执行jar重启命令
1. sh脚本编写 appNamecvcp-weather PIDps -ef |grep java | grep $appName | grep -v grep | awk {print $2} if [ "$PID" "" ]; thensleep 1;echo "no process";elseecho "process exsits";kill -9 $PID fi sleep 2s nohup /usr/l…...
速览!Win11 22H2/23H2 11月更新补丁KB5046633发布!
系统之家11月13日报道消息,微软为Win11 22H2和23H2用户发布了11月更新补丁KB5046633。此次更新后,系统版本号提升至22621.4460和22631.4460。该补丁包含多项改进和修复,有助于提升用户的使用体验感。想了解完整内容的小伙伴,请继续…...
A day a tweet(sixteen)——The better way of search of ChatGPT
Introducing ChatGPT search a/ad.及时的/及时地 ChatGPT can now search the web in a much better way than before so you get fast, timely a.有关的(relative n.亲戚,亲属;同类事物 a.比较的;相对的) answers with link…...
【网络】HTTP 协议
目录 基本概念基于 HTTP 的系统组成HTTP 的基本性质 HTTP 请求头 & 响应头HTTP 的请求方法HTTP 的返回码HTTP 的 CookieHTTP 缓存 Cache-Control会话HTTP/1.x 的连接管理 基本概念 HTTP(Hypertext Transfer Protocol,超文本传输协议)是一…...
git push报错 unexpected disconnect while reading sideband packet
应该是缓冲不够引起的,可以使用以下命令增加缓存: git config --global http.postBuffer 1048576000 1048576000这里的单位是Byte, 也就是1G。 亲测可以了...
JSX 语法与基础组件使用
在 React Native 中,JSX 是一种 JavaScript 的语法扩展,用于描述 UI 界面。JSX 语法类似于 HTML,但它是 JavaScript 的语法糖,可以直接在 JavaScript 代码中编写 UI 组件。本章节将介绍 JSX 语法的基础知识,以及 React…...
ReactPress:构建高效、灵活、可扩展的开源发布平台
ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 在当今数字化时代,内容管理系统(CMS)已成为各类网站和应用的核心组成部分。ReactPress,作为一款融合了现代Web开发多项先进技术的开…...
emulator总结
什么是硬件仿真器 做IC设计的人应该都知道软件仿真和FPGA原型验证,可以把硬件仿真器理解为这二者之间的产物,它同时具备二者的优点。 软件仿真(simulator)全面,支持UVM、assert、coverage收集、可以很方便的dump 波形…...
【Docker】‘docker‘ 不是内部或外部命令,也不是可运行的程序 或 批处理文件
在windows 电脑上安装了 Docker Desktop,在控制台输入 docker -v提示报错 ‘docker’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 报错原因是,环境变量没配置 解决办法,在系统环境变量中配置path ,重新打开cmd 或者…...
Mysql高可用架构方案
Mysql 介绍 Mysql是典型的开源关系型数据库,是许多网站、应用程序、企业软件产品的首选数据库。 Mysql特性: 易于使用,功能强大,支持事务、触发器、存储过程 管理工具多种多样且功能丰富 可以作为千万级数据管理的大型数据库 采…...
Go,15岁了[译]
请点击上方蓝字TonyBai订阅公众号! 虽然迟到了,但绝不缺席!新任Go技术负责人Austin Clements在Go语言15岁生日后的第二天,在Go官方博客上发表了庆祝文章“Go Turns 15[2]”。在这篇文章中,Austin回顾了过去一年Go项目和…...
【大数据学习 | kafka高级部分】kafka的数据同步和数据均衡
1. 数据同步 通过上图我们发现每个分区的数据都不一样,但是三个分区对外的数据却是一致的 这个时候如果第二个副本宕机了 但是如果是leader副本宕机了会发生什么呢? 2. 数据均衡 在线上程序运行的时候,有的时候因为上面副本的损坏ÿ…...
微擎框架php7.4使用phpexcel导出数据报错修复
在使用微擎社区版时,用phpexcel导出数据,提示错误,经过搜索后得知是php版本问题。 之前一直是用的5.6现在改成了7.4。所以才发现了这个问题。 然后去gitee上看了下微擎官方的代码,好像也没有对这个问题进行修复。 找了下&#…...
Netty实现WebSocket Server是否开启压缩深度分析
是否开启压缩会直接影响与客户端是否能够成功握手。 一、具体分析 通常客户端发起与Websocket连接一般是以下形式。 1)包含6个必要的Header Request Headers Sec-WebSocket-Version: 13 Sec-WebSocket-Key: Nlpc0kiHFjRom5/62lj8bA Connection: Upgrade Upgrade…...
【Xrdp联机Ubuntu20.04实用知识点补充】
简单归纳了Xrdp远程连接可能会出现的问题 文章目录 一、网络篇二、Ubuntu远程联机一段时间后莫名奇妙断开Ubuntu20.04禁用休眠配置禁用挂起配置 三、refresh界面频繁刷新四、Authentication is required to create a color profile参考文章总结 一、网络篇 ip addr show eth0接…...
【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉”
【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉” 零、报错 在使用DiskGenius对磁盘分区进行调整时,DiskGenius检查出磁盘报错,报错信息:文件使用的簇被标记为空闲或与其它文件有交叉,…...
IDC机房服务器托管的费用组成
IDC机房服务器托管的费用,并不是只有我们所想的电费而已,还有一些其它费用组成,详细来看: 1. 机位费用: - 机位费用是根据服务器的尺寸和占用的空间来计算的。服务器通常按照U(Unit)的高度来…...
Halcon深度学习网络模型简介
HALCON为分类和语义分割提供了预训练的神经网络。当训练自定义网络时,这些神经网络是很好的起点。它们已经在一个大型图像数据集上进行了预训练。对于异常检测,HALCON提供了初始模型。 用于 3D 抓取点检测的模型 为 3D 抓取点检测提供了以下网络…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
