当前位置: 代码网 > it编程>编程语言>Java > JavaAPI包装类与正则表达式用法完整示例

JavaAPI包装类与正则表达式用法完整示例

2026年09月11日 Java 我要评论
java包装类概述及作用在java中,基本数据类型(如int,char,boolean等)不是对象,而是一些简单的数据值。为了能够将这些基本类型作为对象来操作,java提供了对应的包装类。这些包装类位

java包装类概述及作用

在java中,基本数据类型(如 intcharboolean 等)不是对象,而是一些简单的数据值。

为了能够将这些基本类型作为对象来操作,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 可以匹配 a1ba2b 等。

[abc] 匹配方括号内的任意一个字符(如 ab 或 c)。

[abc] 可以匹配 ab 或 c

[a-z] 匹配从 a 到 z 的任意一个字符。 [a-z] 可以匹配 abc 等。

[a-z] 匹配从 a 到 z 的任意一个字符。 [a-z] 可以匹配 abc 等。

[0-9] 匹配从 0 到 9 的任意一个数字。 [0-9] 可以匹配 012 等。

\w 匹配任意一个单词字符(等价于 [a-za-z0-9_])。 \w 可以匹配 ab0_ 等。

\w 匹配任意一个非单词字符(等价于 [^a-za-z0-9_])。 \w 可以匹配 !@# 等。

\d 匹配任意一个数字(等价于 [0-9])。 \d 可以匹配 012 等。

\d 匹配任意一个非数字(等价于 [^0-9])。 \d 可以匹配 abc 等。

| 匹配 | 左右两边的任意一个表达式。 cat|dog 可以匹配 cat 或 dog

数量规则

* 匹配前面的字符零次或多次。 a* 可以匹配 aaaaaa 以及空字符串。

+ 匹配前面的字符一次或多次。 a+ 可以匹配 aaaaaa,但不匹配空字符串。

? 匹配前面的字符零次或一次。 a? 可以匹配 a 以及空字符串。

{n} 匹配前面的字符恰好 n 次。 a{3} 只能匹配 aaa

{n,} 匹配前面的字符至少 n 次。 a{3,} 可以匹配 aaaaaaa 等。

{n,m} 匹配前面的字符至少 n 次,最多 m 次。 a{2,4} 可以匹配 aaaaaaaaa,但不匹配 a 或 aaaaa

正则案例

  • 匹配4到10位的数字

    • 字符串结构:包含4到10位的数字。

    • 示例:商品编号 12345678901234

  • 匹配由2到10个英文字母组成的字符串

    • 字符串结构:包含2到10个英文字母。

    • 示例:用户昵称 johnalicebob

  • 匹配由1到5个大写英文字母组成的字符串

    • 字符串结构:包含1到5个大写英文字母。

    • 示例:项目代号 abcdxyz

  • 匹配由1到10个小写英文字母组成的字符串

    • 字符串结构:包含1到10个小写英文字母。

    • 示例:用户名 johndoealicebob

  • 匹配由1到10个数字和英文字母组成的字符串

    • 字符串结构:包含1到10个数字和英文字母。

    • 示例:用户名 john123doe456

  • 匹配由1到10个数字、英文字母或下划线组成的字符串

    • 字符串结构:包含1到10个数字、英文字母或下划线。

    • 示例:用户名 john_doe123doe_456

  • 匹配由1到10个任意字符组成的字符串

    • 字符串结构:包含1到10个任意字符(除换行符外)。

    • 示例:文件名 file.txtdocument.docx

  • 匹配由1到10个数字或下划线组成的字符串

    • 字符串结构:包含1到10个数字或下划线。

    • 示例:变量名 var1_temp2

  • 匹配由1到10个非数字字符组成的字符串

    • 字符串结构:包含1到10个非数字字符。

    • 示例:用户名 john_doealice_bob

  • 匹配由1到10个字母或下划线组成的字符串

    • 字符串结构:包含1到10个字母或下划线。

    • 示例:变量名 var_name_temp_var

  • 匹配由1到10个字母或数字组成的字符串,且以字母开头

    • 字符串结构:以字母开头,后面可以跟0到9个字母或数字。

    • 示例:用户名 john123doe456

  • 匹配由1到10个字母或数字组成的字符串,且以数字结尾

    • 字符串结构:以数字结尾,前面可以是任意数量的字母或数字。

    • 示例:用户名 john123doe456

  • 匹配由1到10个字母或数字组成的字符串,且以字母结尾

    • 字符串结构:以字母结尾,前面可以是任意数量的字母或数字。

    • 示例:用户名 john123doe456

  • 验证电话号码(中国手机号码)

    • 字符串结构:符合标准的中国手机号码格式(13/14/15/16/17/18/19开头的11位数字)。

    • 示例1381234567815912345678

  • 验证邮政编码(中国邮政编码)

    • 字符串结构:6位数字的中国邮政编码。

    • 示例100000200000

  • 验证日期格式(yyyy-mm-dd)

    • 字符串结构:符合标准的日期格式(yyyy-mm-dd)。

    • 示例2023-10-15

  • 验证用户名(3到16个字符,只能包含字母、数字和下划线)

    • 字符串结构:3到16个字符,只能包含字母、数字和下划线。

    • 示例john_doeuser123

  • 验证车牌号(中国车牌号)

    • 字符串结构:符合标准的中国车牌号格式(省份简称 + 字母 + 5位字母或数字)。

      京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼

      a-z

    • 示例京a12345沪b67890

  • 验证身份证号(18位数字或17位数字加一个字母)

    • 字符串结构:18位数字或17位数字加一个字母(0-9或x)。

    • 示例12345678901234567812345678901234567x

结合java控制台

判断用户输入的用户名(6-10位数字,不以0开头)与密码(8-16位,可以包含数字,字母与特殊符号)

实现密码等级提示

有数字 +1

有小写字母 +1

有大写字母 +1

有特殊符号 +1

总结 

到此这篇关于javaapi包装类与正则表达式用法的文章就介绍到这了,更多相关javaapi包装类与正则表达式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com