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次

目录
相关文章
|
7天前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
28 7
|
6天前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
4天前
|
安全 Java API
16 个最常用的 Java 实用程序类
【8月更文挑战第16天】
13 1
16 个最常用的 Java 实用程序类
|
6天前
|
存储 Java 数据库连接
Java类文件结构及类加载机制
该文章主要讨论了Java类文件的结构以及Java类的加载机制,并提到了双亲委派模型的相关内容。
Java类文件结构及类加载机制
|
11天前
|
存储 算法 Java
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
30 2
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
|
12天前
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
29 16
|
1天前
|
SQL Java Apache
实时计算 Flink版操作报错合集之使用parquet时,怎么解决报错:无法访问到java.uti.Arrays$ArrayList类的私有字段
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4天前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
6天前
|
设计模式 人工智能 Java
Java 如何使用单例类
Java 如何使用单例类
5 1
|
6天前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
14 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)