Java object类及正则表达式原理解析

 更新时间:2020年07月20日 15:21:08   作者:haoduohaoduo鱼  
这篇文章主要介绍了Java object类及正则表达式原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

equals方法

equals方法,用于比较两个对象是否相同

/*
   描述人这个类,并定义功能根据年龄判断是否是同龄人
   由于要根据指定类的属性进行比较,这时只要覆盖Object中的equals方法
   在方法体中根据类的属性值进行比较
 */
class Person extends Object{
  int age ;
  //复写父类的equals方法,实现自己的比较方式
  public boolean equals(Object obj) {
    //判断当前调用equals方法的对象和传递进来的对象是否是同一个
    if(this == obj){
      return true;
    }
    //判断传递进来的对象是否是Person类型
    if(!(obj instanceof Person)){
      return false;
    }
    //将obj向下转型为Perosn引用,访问其属性
    Person p = (Person)obj;
    return this.age == p.age;
  }
}

toString方法

toString方法返回该对象的字符串表示

public class Demo01 {
  public static void main(String[] args) {
    Person p=new Person("小红帽",18);
    //调用父类的toString()
    System.out.println(p.toString());
    System.out.println(p);
  }
}

String类

字符串的本质是一个字符的数组。

构造方法

String s1 = new String(); //创建String对象,字符串中没有内容
  
  byte[] bys = new byte[]{97,98,99,100};
  String s2 = new String(bys); // 创建String对象,把数组元素作为字符串的内容
  String s3 = new String(bys, 1, 3); //创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数length为要几个元素
  
  char[] chs = new char[]{'a','b','c','d','e'};
  String s4 = new String(chs); //创建String对象,把数组元素作为字符串的内容
  String s5 = new String(chs, 0, 3);//创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数count为要几个元素

  String s6 = new String(“abc”); //创建String对象,字符串内容为abc

String类的方法查找

字符串缓冲区

查阅StringBuffer的API,StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

StringBuffer的方法使用

对象的方法链式调用

创建一个字符串缓冲区对象。用于存储数据。
StringBuffer sb = new StringBuffer();
添加数据。不断的添加数据后,要对缓冲区的最后的数据进行操作,必须转成字符串才可以。
String str = sb.append(true).append("hehe").toString();

我们阅读StringBuilder的API说明发现,它也是一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

正则表达式

正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

举例:校验qq号码.
1: 要求必须是5-15位数字
2: 0不能开头
代码演示:
String qq = "604154942";
String regex = "[1-9][0-9]{4,14}";
boolean flag2 = qq.matches(regex);

举例:校验手机号码
1:要求为11位数字
2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。
代码演示:
String phone = "18800022116";
String regex = "1[34578][0-9]{9}";
boolean flag = phone.matches(regex);

 举例:分割出字符串中的的数字
代码演示:
String s = "18-22-40-65";
String regex = "-";
String[] result = s.split(regex);
代码演示:
String s = "18 22 40 65";
String regex = " ";
String[] result = s.split(regex);

邮箱

String reg3="[1-9A-z_][\\w]+@[A-z0-9]+(\\.+[A-z]+)+";
    String em="499880898@qq.com";
    System.out.println(em.matches(reg3));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java实现租车管理系统

    Java实现租车管理系统

    这篇文章主要为大家详细介绍了Java实现租车管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Java BeanMap实现Bean与Map的相互转换

    Java BeanMap实现Bean与Map的相互转换

    这篇文章主要介绍了利用BeanMap进行对象与Map的相互转换,通过net.sf.cglib.beans.BeanMap类中的方法来转换,效率极高,本文给大家分享实现代码,感兴趣的朋友一起看看吧
    2022-11-11
  • Java中的JSONObject详解

    Java中的JSONObject详解

    这篇文章主要介绍了Java中的JSONObject详解,需要的朋友可以参考下
    2025-04-04
  • IDEA的Swing可视化插件JFormDesigner详解

    IDEA的Swing可视化插件JFormDesigner详解

    JFormDesigner是一个专业的软件应用程序,专门用于帮助您开发Java Swing用户界面,而无需具备编程技能。它可作为独立实用程序使用,也可以将其用作各种IDE的插件,本文给大家介绍idea Swing可视化插件,感兴趣的朋友一起看看吧
    2022-06-06
  • Java实例项目零钱通的实现流程

    Java实例项目零钱通的实现流程

    本篇文章为你带来Java的一个新手实战项目,是一个零钱通系统,项目来自于B站韩顺平老师,非常适合新手入门练习,感兴趣的朋友快来看看吧
    2022-03-03
  • 一文详解Java抽象类到底有多抽象

    一文详解Java抽象类到底有多抽象

    这篇文章主要介绍了一文详解Java抽象类到底有多抽象,抽象方法所在的类必须是抽象类,子类若继承了一个抽象类,就必须覆写父类的所有抽象方法,这里的子类是普通类,是强制要求覆写所有抽象方法,但是如果子类也是一个抽象类,那么就可以不覆写
    2022-06-06
  • Java Native关键字原理及作用解析

    Java Native关键字原理及作用解析

    这篇文章主要介绍了Java Native关键字原理及作用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java中的SuppressWarnings注解使用

    Java中的SuppressWarnings注解使用

    这篇文章主要介绍了Java中的SuppressWarnings注解使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java无限级树(递归)超实用案例

    Java无限级树(递归)超实用案例

    下面小编就为大家带来一篇Java无限级树(递归)超实用案例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Java设置session超时的几种方式总结

    Java设置session超时的几种方式总结

    这篇文章主要介绍了Java设置session超时的几种方式总结的相关资料,需要的朋友可以参考下
    2017-07-07

最新评论