Java 比較字符串實例詳解
Java 比較字符串實例詳解
公司讓實現(xiàn)一個自動清除1小時內(nèi)數(shù)據(jù),SQL不熟悉,無奈之下,只能本地DB存儲當(dāng)前時間+小時去和當(dāng)前時間進行比對。折騰好半天,突然想到Java提供了一個方法,也是進行字符串比較的,傻眼了。一起來看看吧~
CompareTo()方法簡介
首先,它屬于java.lang.String包下,是Java提供的一個字符串比較的方法,詳情介紹如下:
CompareTo()返回值: int
返回值類型分別有三種,小于0,等于0,大于0
1. 如果字符串相等返回值0;
2. 如果第一個字符和參數(shù)的第一個字符不等,結(jié)束比較,返回他們之間的差值(ascii碼值)(負(fù)值前字符串的值小于后字符串,正值前字符串大于后字符串);
3. 如果第一個字符和參數(shù)的第一個字符相等,則以第二個字符和參數(shù)的第二個字符做比較,以此類推,直至比較的字符或被比較的字符有一方全比較完,這時就比較字符的長度。
PS:拓展下什么是ascii碼值
ASCII(American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標(biāo)準(zhǔn)ISO/IEC 646。
說白了ASCII碼就是解決了一個以數(shù)字形式表示文本的問題
使用+實踐 二合一
接下來要實現(xiàn)的就是本文開頭說的比較時間。
上代碼~
System.out.println("當(dāng)前時間為:"+getTimeByHour());
System.out.println(getTimeByHour());
System.out.println("下一小時為:"+getTimeByHour(1));
System.out.println("對比結(jié)果為:"+getTimeByHour().compareTo(getTimeByHour(1)));
System.out.println("對比結(jié)果為:"+getTimeByHour(1).compareTo(getTimeByHour(0)));
System.out.println("對比結(jié)果為:"+getTimeByHour(1).compareTo(getTimeByHour(1)));
/**
* 獲取當(dāng)前時間
* @return
*/
public static String getTimeByHour() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 0);
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
}
/**
* 獲取當(dāng)前時間后一小時
* @param hour
* @return
*/
public static String getTimeByHour(int hour) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + hour);
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
}
運行結(jié)果
當(dāng)前時間為:2017-03-28 23:42:06 下一小時為:2017-03-29 00:42:06 對比結(jié)果為:-1 對比結(jié)果為:1 對比結(jié)果為:0
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
spring+springmvc+mybatis+maven入門實戰(zhàn)(超詳細(xì)教程)
這篇文章主要介紹了spring+springmvc+mybatis+maven入門實戰(zhàn)(超詳細(xì)教程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05
Springboot通過ObjectMapper配置json序列化詳解
SpringBoot默認(rèn)集成Jackson庫,其中ObjectMapper類是核心,用于Java對象與JSON字符串的互轉(zhuǎn),提供配置序列化特性、注冊模塊等方法,在SpringBoot中可以全局配置JSON格式,如日期格式化、將Long轉(zhuǎn)為字符串,還可以配置序列化時的各種規(guī)則,感興趣的可以了解一下2024-10-10
SpringBoot整合EasyExcel實現(xiàn)大規(guī)模數(shù)據(jù)的并行導(dǎo)出與壓縮下載
在 Spring Boot 應(yīng)用中,整合 EasyExcel 實現(xiàn)并行導(dǎo)出數(shù)據(jù)并進行 Zip 壓縮下載可以極大地提高數(shù)據(jù)處理效率和用戶體驗,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2024-10-10
windows下vscode+vs2019開發(fā)JNI的示例
本文給大家普及windows下vscode+vs2019開發(fā)JNI的示例以及各個環(huán)節(jié)的注意事項,文章通過示例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-06-06
JavaEE實現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了JavaEE實現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05
Spring Boot 2.0 配置屬性自定義轉(zhuǎn)換的方法
這篇文章主要介紹了Spring Boot 2.0 配置屬性自定義轉(zhuǎn)換的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11

