当前位置: 首页 > news >正文

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 数据库连接&#xf…...

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. 数据均衡 在线上程序运行的时候,有的时候因为上面副本的损坏&#xff…...

微擎框架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 抓取点检测提供了以下网络&#xf…...

基于Kubernetes Operator的MySQL InnoDB Cluster自动化部署实践

1. MySQL InnoDB Cluster与Kubernetes Operator基础 MySQL InnoDB Cluster是MySQL官方提供的高可用数据库解决方案,它基于MySQL Group Replication技术构建,能够实现多节点数据同步和自动故障转移。想象一下,这就像是一个由多个数据库实例组…...

如何彻底解决文献格式混乱?Zotero格式规范化处理工具的创新方案

如何彻底解决文献格式混乱?Zotero格式规范化处理工具的创新方案 【免费下载链接】zotero-format-metadata Linter for Zotero. A plugin for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and…...

原创:行业空白:从约束崩塌到系统闭环的工程新论

行业空白:从约束崩塌到系统闭环的工程新论 作者:华夏之光永存 #工程约束 #底层架构 #系统稳定性 #软件开发 #高端制造 #工程方法论 #逻辑闭环 #零缺陷工程 #源头治理 #技术架构 摘要 本文直指当前工程领域普遍存在的核心问题:缺乏统一、刚性的…...

PFC(5.0)模拟:GBM模型(grain- based model ) pb-sj或pb-...

PFC(5.0)模拟:GBM模型(grain- based model ) pb-sj或pb-pb 单轴压缩。 模拟花岗岩等矿物晶体岩石,多种矿物晶体模型,其中矿物种类 数量分布可以自定义。 可以监测sj裂纹,和各矿物内裂纹。PFC5.0的GBM模型玩岩石破裂是真…...

Windows 10/11下用StyleGAN2-ADA-PyTorch训练自己的数据集(避坑Visual Studio编译错误)

Windows平台StyleGAN2-ADA-PyTorch环境配置全指南:从编译错误到自动化训练 在Windows 10/11上配置StyleGAN2-ADA-PyTorch环境时,许多开发者都会遇到Visual Studio编译工具链缺失的经典问题。不同于Linux系统的开箱即用,Windows环境需要额外处…...

别再只看波形了!用Maxwell+Matlab深度分析电机空载气隙磁密的谐波极对数分布

电机电磁设计进阶:从Maxwell FFT到Matlab谐波极对数分析的工程实践 在电机设计领域,空载气隙磁密的谐波分析一直是评估电磁性能的核心手段。传统方法往往止步于波形观察和简单频谱分析,却忽略了谐波极对数分布这一关键维度——它直接关联着电…...

小白程序员必看:大模型“语义崩塌”陷阱与收藏攻略!

本文深入解析了“语义崩塌”现象,即在大模型处理海量数据时,向量语义失去区分度导致搜索失效。以斯坦福RAG研究为例,揭示高维空间下“维度灾难”如何导致相关性计算失效,影响企业级应用。文章提出分层检索和基于图谱的检索作为解决…...

Python: 多优化算法TSP求解方案,物流路径规划代码实践 - 附详尽注释及标准数据集

Python:模拟退火算法、蚁群算法、遗传算法、粒子群算法求解旅行商问题(TSP)的Python代码程序。 物流路径规划问题。 -- 数据集采用的tsplib标准数据集,可以根据自己需求修改城市坐标。 代码完整,注释详细,打印每次迭代结果&#x…...

LangFlow+Ollama快速部署:3步搭建本地AI应用开发环境

LangFlowOllama快速部署:3步搭建本地AI应用开发环境 想快速搭建一个属于自己的AI应用开发环境,但又不想折腾复杂的命令行和配置?今天,我来分享一个极其简单的方法:用LangFlow和Ollama,只需3步,…...

ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成

ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成 1. 项目介绍与核心价值 cv_resnet50_face-reconstruction 是一个基于ResNet50架构的人脸重建项目,专门为艺术创作和设计工作提供高质量的人脸底图生成服务…...