Java 比較字符串實例詳解
Java 比較字符串實例詳解
公司讓實現(xiàn)一個自動清除1小時內(nèi)數(shù)據(jù),SQL不熟悉,無奈之下,只能本地DB存儲當前時間+小時去和當前時間進行比對。折騰好半天,突然想到Java提供了一個方法,也是進行字符串比較的,傻眼了。一起來看看吧~
CompareTo()方法簡介
首先,它屬于java.lang.String包下,是Java提供的一個字符串比較的方法,詳情介紹如下:
CompareTo()返回值: int
返回值類型分別有三種,小于0,等于0,大于0
1. 如果字符串相等返回值0;
2. 如果第一個字符和參數(shù)的第一個字符不等,結束比較,返回他們之間的差值(ascii碼值)(負值前字符串的值小于后字符串,正值前字符串大于后字符串);
3. 如果第一個字符和參數(shù)的第一個字符相等,則以第二個字符和參數(shù)的第二個字符做比較,以此類推,直至比較的字符或被比較的字符有一方全比較完,這時就比較字符的長度。
PS:拓展下什么是ascii碼值
ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標準ISO/IEC 646。
說白了ASCII碼就是解決了一個以數(shù)字形式表示文本的問題
使用+實踐 二合一
接下來要實現(xiàn)的就是本文開頭說的比較時間。
上代碼~
System.out.println("當前時間為:"+getTimeByHour());
System.out.println(getTimeByHour());
System.out.println("下一小時為:"+getTimeByHour(1));
System.out.println("對比結果為:"+getTimeByHour().compareTo(getTimeByHour(1)));
System.out.println("對比結果為:"+getTimeByHour(1).compareTo(getTimeByHour(0)));
System.out.println("對比結果為:"+getTimeByHour(1).compareTo(getTimeByHour(1)));
/**
* 獲取當前時間
* @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());
}
/**
* 獲取當前時間后一小時
* @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());
}
運行結果
當前時間為:2017-03-28 23:42:06 下一小時為:2017-03-29 00:42:06 對比結果為:-1 對比結果為:1 對比結果為:0
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Spring獲取當前類在容器中的beanname實現(xiàn)思路
這篇文章主要介紹了Spring獲取當前類在容器中的beanname,實現(xiàn)思路只需繼承BeanNameAware接口,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
Oracle + Mybatis實現(xiàn)批量插入、更新和刪除示例代碼
利用MyBatis動態(tài)SQL的特性,我們可以做一些批量的操作,下面這篇文章主要給大家介紹了關于Oracle + Mybatis實現(xiàn)批量插入、更新和刪除的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2018-01-01
idea2023創(chuàng)建JavaWeb教程之右鍵沒有Servlet的問題解決
最近在寫一個javaweb項目,但是在IDEA中創(chuàng)建好項目后,在搭建結構的時候創(chuàng)建servlet文件去沒有選項,所以這里給大家總結下,這篇文章主要給大家介紹了關于idea2023創(chuàng)建JavaWeb教程之右鍵沒有Servlet問題的解決方法,需要的朋友可以參考下2023-10-10
springboot集成redis實現(xiàn)消息的訂閱與發(fā)布
本文主要介紹了springboot集成redis實現(xiàn)消息的訂閱與發(fā)布,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-05-05
Java內(nèi)存劃分:運行時數(shù)據(jù)區(qū)域
聽說Java運行時環(huán)境的內(nèi)存劃分是挺進BAT的必經(jīng)之路,這篇文章主要給大家介紹了關于Java運行時數(shù)據(jù)區(qū)域(內(nèi)存劃分)的相關資料,需要的朋友可以參考下2021-07-07

