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次

目录
相关文章
|
1月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
143 57
|
3天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
1月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
53 8
|
1月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
73 17
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
133 4
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
76 2
|
1月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
58 4
|
1月前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
49 5
|
1月前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
90 5