欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java object類及正則表達(dá)式原理解析

 更新時(shí)間:2020年07月20日 15:21:08   作者:haoduohaoduo魚  
這篇文章主要介紹了Java object類及正則表達(dá)式原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

equals方法

equals方法,用于比較兩個(gè)對象是否相同

/*
   描述人這個(gè)類,并定義功能根據(jù)年齡判斷是否是同齡人
   由于要根據(jù)指定類的屬性進(jìn)行比較,這時(shí)只要覆蓋Object中的equals方法
   在方法體中根據(jù)類的屬性值進(jìn)行比較
 */
class Person extends Object{
  int age ;
  //復(fù)寫父類的equals方法,實(shí)現(xiàn)自己的比較方式
  public boolean equals(Object obj) {
    //判斷當(dāng)前調(diào)用equals方法的對象和傳遞進(jìn)來的對象是否是同一個(gè)
    if(this == obj){
      return true;
    }
    //判斷傳遞進(jìn)來的對象是否是Person類型
    if(!(obj instanceof Person)){
      return false;
    }
    //將obj向下轉(zhuǎn)型為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);
    //調(diào)用父類的toString()
    System.out.println(p.toString());
    System.out.println(p);
  }
}

String類

字符串的本質(zhì)是一個(gè)字符的數(shù)組。

構(gòu)造方法

String s1 = new String(); //創(chuàng)建String對象,字符串中沒有內(nèi)容
  
  byte[] bys = new byte[]{97,98,99,100};
  String s2 = new String(bys); // 創(chuàng)建String對象,把數(shù)組元素作為字符串的內(nèi)容
  String s3 = new String(bys, 1, 3); //創(chuàng)建String對象,把一部分?jǐn)?shù)組元素作為字符串的內(nèi)容,參數(shù)offset為數(shù)組元素的起始索引位置,參數(shù)length為要幾個(gè)元素
  
  char[] chs = new char[]{'a','b','c','d','e'};
  String s4 = new String(chs); //創(chuàng)建String對象,把數(shù)組元素作為字符串的內(nèi)容
  String s5 = new String(chs, 0, 3);//創(chuàng)建String對象,把一部分?jǐn)?shù)組元素作為字符串的內(nèi)容,參數(shù)offset為數(shù)組元素的起始索引位置,參數(shù)count為要幾個(gè)元素

  String s6 = new String(“abc”); //創(chuàng)建String對象,字符串內(nèi)容為abc

String類的方法查找

字符串緩沖區(qū)

查閱StringBuffer的API,StringBuffer又稱為可變字符序列,它是一個(gè)類似于 String 的字符串緩沖區(qū),通過某些方法調(diào)用可以改變該序列的長度和內(nèi)容。

StringBuffer的方法使用

對象的方法鏈?zhǔn)秸{(diào)用

創(chuàng)建一個(gè)字符串緩沖區(qū)對象。用于存儲(chǔ)數(shù)據(jù)。
StringBuffer sb = new StringBuffer();
添加數(shù)據(jù)。不斷的添加數(shù)據(jù)后,要對緩沖區(qū)的最后的數(shù)據(jù)進(jìn)行操作,必須轉(zhuǎn)成字符串才可以。
String str = sb.append(true).append("hehe").toString();

我們閱讀StringBuilder的API說明發(fā)現(xiàn),它也是一個(gè)可變的字符序列。此類提供一個(gè)與 StringBuffer 兼容的 API,但不保證同步。該類被設(shè)計(jì)用作 StringBuffer 的一個(gè)簡易替換,用在字符串緩沖區(qū)被單個(gè)線程使用的時(shí)候(這種情況很普遍)。如果可能,建議優(yōu)先采用該類,因?yàn)樵诖蠖鄶?shù)實(shí)現(xiàn)中,它比 StringBuffer 要快。

正則表達(dá)式

正則表達(dá)式是一個(gè)字符串,使用單個(gè)字符串來描述、用來定義匹配規(guī)則,匹配一系列符合某個(gè)句法規(guī)則的字符串。在開發(fā)中,正則表達(dá)式通常被用來檢索、替換那些符合某個(gè)規(guī)則的文本。

舉例:校驗(yàn)qq號(hào)碼.
1: 要求必須是5-15位數(shù)字
2: 0不能開頭
代碼演示:
String qq = "604154942";
String regex = "[1-9][0-9]{4,14}";
boolean flag2 = qq.matches(regex);

舉例:校驗(yàn)手機(jī)號(hào)碼
1:要求為11位數(shù)字
2:第1位為1,第2位為3、4、5、7、8中的一個(gè),后面9位為0到9之間的任意數(shù)字。
代碼演示:
String phone = "18800022116";
String regex = "1[34578][0-9]{9}";
boolean flag = phone.matches(regex);

 舉例:分割出字符串中的的數(shù)字
代碼演示:
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));

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 取消idea雙擊shift鍵時(shí)出現(xiàn)的全局搜索的問題分析

    取消idea雙擊shift鍵時(shí)出現(xiàn)的全局搜索的問題分析

    這篇文章主要介紹了取消idea雙擊shift鍵時(shí)出現(xiàn)的全局搜索的問題分析,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-10-10
  • SpringBoot啟動(dòng)security后如何關(guān)閉彈出的/login頁面

    SpringBoot啟動(dòng)security后如何關(guān)閉彈出的/login頁面

    這篇文章主要介紹了SpringBoot啟動(dòng)security后如何關(guān)閉彈出的login頁面問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java獲取當(dāng)前時(shí)間和前一天日期(實(shí)現(xiàn)代碼)

    java獲取當(dāng)前時(shí)間和前一天日期(實(shí)現(xiàn)代碼)

    java獲取當(dāng)前時(shí)間和前一天日期的實(shí)現(xiàn)代碼。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • IDEA插件之mybatisx?插件使用教程

    IDEA插件之mybatisx?插件使用教程

    這篇文章主要介紹了mybatisx?插件使用教程,包括插件安裝自動(dòng)生成代碼的相關(guān)知識(shí),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Java中Synchronized鎖的使用和原理詳解

    Java中Synchronized鎖的使用和原理詳解

    這篇文章主要介紹了Java中Synchronized鎖的使用和原理詳解,synchronized是?Java?內(nèi)置的關(guān)鍵字,它提供了一種獨(dú)占的加鎖方式,synchronized的獲取和釋放鎖由JVM實(shí)現(xiàn),用戶不需要顯示的釋放鎖,非常方便,需要的朋友可以參考下
    2023-07-07
  • java線程池ThreadPoolExecutor實(shí)現(xiàn)原理詳解

    java線程池ThreadPoolExecutor實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了java線程池ThreadPoolExecutor實(shí)現(xiàn)原理詳解,ThreadPoolExecutor是線程池實(shí)現(xiàn)類,會(huì)動(dòng)態(tài)創(chuàng)建多個(gè)線程,并發(fā)執(zhí)行提交的多個(gè)任務(wù),需要的朋友可以參考下
    2023-12-12
  • Java單鏈表的增刪改查與面試題詳解

    Java單鏈表的增刪改查與面試題詳解

    單鏈表是鏈表的其中一種基本結(jié)構(gòu)。一個(gè)最簡單的結(jié)點(diǎn)結(jié)構(gòu)如圖所示,它是構(gòu)成單鏈表的基本結(jié)點(diǎn)結(jié)構(gòu)。在結(jié)點(diǎn)中數(shù)據(jù)域用來存儲(chǔ)數(shù)據(jù)元素,指針域用于指向下一個(gè)具有相同結(jié)構(gòu)的結(jié)點(diǎn)。 因?yàn)橹挥幸粋€(gè)指針結(jié)點(diǎn),稱為單鏈表
    2022-09-09
  • 詳解Java的call by value和call by reference

    詳解Java的call by value和call by reference

    在本篇文章里小編給大家總結(jié)了關(guān)于Java的call by value和call by reference的相關(guān)用法和知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-03-03
  • SpringBoot訪問外部文件及默認(rèn)路由問題

    SpringBoot訪問外部文件及默認(rèn)路由問題

    這篇文章主要介紹了SpringBoot訪問外部文件及默認(rèn)路由問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Springboot整合zookeeper實(shí)現(xiàn)對節(jié)點(diǎn)的創(chuàng)建、監(jiān)聽與判斷的案例詳解

    Springboot整合zookeeper實(shí)現(xiàn)對節(jié)點(diǎn)的創(chuàng)建、監(jiān)聽與判斷的案例詳解

    這篇文章主要介紹了基于Springboot整合zookeeper實(shí)現(xiàn)對節(jié)點(diǎn)的創(chuàng)建、監(jiān)聽與判斷,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評論