java编程工具类之Regex

简介: 1.StringBuilder类不一定需要 是为了避免String频繁拼接修改字符串信息的时候才用的 底层数组是可变的 提高了性能 2.常用方法 与String类不同的独有方法 append() insert() delete() deleteCharAt() reverse() 与String类相同的方法 length() charAt() codePointAt() indexOf() lastIndexOf() substring() replace()名字相同 用法不一致 不是很常用的方法 ensureCapacity() capacity()

前言叙述:

   1.StringBuilder类不一定需要   是为了避免String频繁拼接修改字符串信息的时候才用的

底层数组是可变的  提高了性能

   2.常用方法

与String类不同的独有方法

append()  insert()  delete()  deleteCharAt()  reverse()

与String类相同的方法

length() charAt() codePointAt() indexOf() lastIndexOf()  

substring() replace()名字相同 用法不一致

不是很常用的方法

ensureCapacity() capacity() setLength() trimToSize(); setCharAt();

   3.String家族笔试中经常容易考察的知识点

1.String所属的包 继承关系 实现接口

java.lang 继承Object 接口Serializable,CharSequence,Comparable

2.String构建方式

常量  构造方法  

3.String对象内存结构

字符串常量区  new堆内存对象

==  equals()区别

"a"+"b"+"c"

   4.String不可变特性

长度及内容

   5.String中的常用方法---与StringBuilder的区别

concat();  toUpperCase();

   6.String和StringBuilder区别   |   String和StringBuffer区别

     String不可变字符串

JDK1.0

   有一个接口Comparable

   不可变体现在长度及内容

   有一些方法StringBuilder没有 concat  compareTo  toUpperCase

   StringBuilder可变字符串

JDK1.5

有一个接口Appendable

可变字符串  没有final修饰  底层可以进行数组扩容

有一些方法String没有  append() insert() delete() reverse()

   7.StringBuffer和StringBuilder的不同

       StringBuffer早期版本1.0

StringBuilder后来的版本1.5

早期版本  线程同步  

       安全性比较高  执行效率相对较低

后期版本  线程非同步    安全性比较低  执行效率相对较高

Regular有规律的 Expression表达式

正则表达式regex

一个带有一定规律的表达式

匹配字符串格式的

正则表达式通常的作用如下:

1.字符串的格式校验  

       String类中提供的一个方法 boolean = str.matches("regex");

2.字符串的拆分及替换 String类中提供的方法replace  split

3.字符串的查找 Pattern模式  Matcher匹配器

如下的所有都用来描述字符的信息

[abc] abc其中的一个

[^abc] 不能是abc其中的一个 其他都可以

[a-zA-Z] 表示必须是这两个范围内的

[a-z&&[^bc]]  表示a-z其中的一个但不能是b和c

| 或者

代表任意一个字符

\d  digit数字   [0-9]

\D  非数字       [^0-9]

\s  space留白  一个空格 一个回车 一个换行。。。

\S  非留白

\w  word单词  [0-9A-Za-z]  数字或字母都可以

\W 非单词        [^0-9A-Za-z]

如下的所有都用来描述字符出现的次数

?   0-1次    [0-9]?

*   0-n次

+  1-n次

{n} 固定n次

{n,} 至少出现n次

{m,n}  m-n次

目录
相关文章
|
4天前
|
Java 编译器 ice
【Java开发指南 | 第十五篇】Java Character 类、String 类
【Java开发指南 | 第十五篇】Java Character 类、String 类
24 1
|
4天前
|
Java
【Java开发指南 | 第十四篇】Java Number类及Math类
【Java开发指南 | 第十四篇】Java Number类及Math类
15 1
|
2天前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
24 7
|
3天前
|
设计模式 算法 Java
Java的前景如何,好不好自学?,万字Java技术类校招面试题汇总
Java的前景如何,好不好自学?,万字Java技术类校招面试题汇总
|
4天前
|
安全 Java 开发者
Java一分钟之-文件与目录操作:Path与Files类
【5月更文挑战第13天】Java 7 引入`java.nio.file`包,`Path`和`Files`类提供文件和目录操作。`Path`表示路径,不可变。`Files`包含静态方法,支持创建、删除、读写文件和目录。常见问题包括:忽略异常处理、路径解析错误和权限问题。在使用时,注意异常处理、正确格式化路径和考虑权限,以保证代码稳定和安全。结合具体需求,这些方法将使文件操作更高效。
11 2
|
4天前
|
安全 Java 开发者
Java一分钟之-Optional类:优雅处理null值
【5月更文挑战第13天】Java 8的`Optional`类旨在减少`NullPointerException`,提供优雅的空值处理。本文介绍`Optional`的基本用法、创建、常见操作,以及如何避免错误,如直接调用`get()`、误用`if (optional != null)`检查和过度使用`Optional`。正确使用`Optional`能提高代码可读性和健壮性,建议结合实际场景灵活应用。
21 3
|
4天前
|
存储 Java 索引
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
10 3
|
4天前
|
存储 缓存 Java
【Java开发指南 | 第六篇】Java成员变量(实例变量)、 类变量(静态变量)
【Java开发指南 | 第六篇】Java成员变量(实例变量)、 类变量(静态变量)
12 2
|
4天前
|
Java 编译器
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
11 4
|
4天前
|
安全 Java 数据安全/隐私保护
Java一分钟之-Java反射机制:动态操作类与对象
【5月更文挑战第12天】本文介绍了Java反射机制的基本用法,包括获取Class对象、创建对象、访问字段和调用方法。同时,讨论了常见的问题和易错点,如忽略访问权限检查、未捕获异常以及性能损耗,并提供了相应的避免策略。理解反射的工作原理和合理使用有助于提升代码灵活性,但需注意其带来的安全风险和性能影响。
23 4