java字元串對象
❶ java字元串格式化和工具類使用
前言我們在做項目時候經常需要對字元串進行處理,判斷,操作,所以我就總結了一下java字元串一些常用操作,和推薦比較好用我在自用的工具類,畢竟有輪子我們自己就不用重復去寫了,提供開發效率,剩下的時間就去約女朋友吧哈哈哈!!!!
我們知道平時我們都會做字元串拼接列印操作,單還是在用?號嘛,那樣就很low為力顯示逼格,使用format操作很有必要?
String類的format()方法用於創建格式化的字元串以及連接多個字元串對象,制定字元串格式和參數生成格式化的字元串。顯示不同轉換符實現不同數據類型到字元串的轉換
測試用例:
@Testpublicvoida(){Stringstr="";str=String.format("Hi,%s","王力");System.out.println(str);str=String.format("Hi,%s:%s.%s","王南","王力","王張");System.out.println(str);System.out.printf("字母a的大寫是:%c%n",'A');System.out.printf("3>7的結果是:%b%n",3>7);System.out.printf("100的一半是:%d%n",100/2);System.out.printf("100的16進制數是:%x%n",100);System.out.printf("100的8進制數是:%o%n",100);System.out.printf("50元的書打8.5折扣是:%f元%n",50*0.85);System.out.printf("上面價格的16進制數是:%a%n",50*0.85);System.out.printf("上面價格的指數表示:%e%n",50*0.85);System.out.printf("上面價格的指數和浮點數結果的長度較短的是:%g%n",50*0.85);System.out.printf("上面的折扣是%d%%%n",85);System.out.printf("字母A的散列碼是:%h%n",'A');}列印結果
._________/\/___'_____(_)______\\(()\___|'_|'_||'_/_`|\\\/___)||_)|||||||(_||))))'|____|.__|_||_|_||_\__,|////=========|_|==============|___/=/_/_/_/::SpringBoot::(v2.4.7)2021-09-1010:42:07INFObackground-preinitorg.hibernate.validator.internal.util.VersionHV000001:HibernateValidator6.1.7.Final2021-09-1010:42:.8.0_202onxiangyongdeMacBook-Pro.localwithPID46281(startedbyxiangyongin/Users/xiangyong/selfProject/project/kmall/kmall-api)2021-09-1010:42::test,mptest__|___|_.____|_|||/|_)(_|||_|_)||_|_/|3.4.12021-09-1010:42:.755seconds(JVMrunningfor8.519)Hi,王力Hi,王南:王力.王張字母a的大寫是:A3>7的結果是:false100的一半是:50100的16進制數是:64100的8進制數是:14450元的書打8.5折扣是:42.500000元上面價格的16進制數是:0x1.54p5上面價格的指數表示:4.250000e+01上面價格的指數和浮點數結果的長度較短的是:42.5000上面的折扣是85%字母A的散列碼是:41更多格式進入參考這里
equals兩個字元串做比較,當然這里比較的話就不得不提老生常談的問題,==和equals區別
首先的區別是,equals是方法,而==是操作符;
equals比較的是兩個字元串內容而不是引用
==在比較對象時比較的是引用地址是否相同,在比較基本類型時比較的是其內容
@Testpublicvoida(){//s1與s2不是同一個對象Strings1=newString("aaa");Strings2=newString("aaa");System.out.println(s1==s2);//falseSystem.out.println(s1.equals(s2));//true//s5與s6是基本數據類型Strings5="aaa";Strings6="aaa";System.out.println(s5==s6);//trueSystem.out.println(s5.equals(s6));//true//s3和s4是同一個地址的引用Strings3=newString("aaa");Strings4=s3;System.out.println(s3==s4);//trueSystem.out.println(s3.equals(s4));//true}注意我們看到s5==s6是true而s1==s2是false,因為s5和s6是基本數據類型此時比較的是值,s1和s2是對象比較的是引用所以是不同兩個String對象比較引用
這里涉及到基本數據類型:
Java中有8種基本數據類型(字母開頭小寫),即boolean、byte、short、char、int、float、long、double,基本數據類型不是對象,放在堆棧中,用完就銷毀,訪問速度快。而對象放在堆中。如果必須用到對象Java針對每種基本數據類型提供了包裝類,即Boolean、Byte、Short、Character、Integer、Float、Long、Double(開頭大寫)等。
詳細深入參考點擊進入
toString返回當前String對象的字元串表示形式,一般用於列印對象信息方便快捷,所有類都繼承object,任何類,都可以重寫toString方法
工具類hutool借用官方引用:
Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅,讓Java語言也可以「甜甜的
點擊進入官網導航強烈推薦
已發布maven中央倉庫,多麼模塊可以單獨引用某一個模塊,也可以引用全部,
包含組件如下:
分的比較·散亂單,應為不是專門的工具庫,但是用起來還是挺不錯的使用頻率最高的框架。有很多實用的工具類並沒有全部列出來,只列出了最基礎的一部分,感興趣的小夥伴,可以看官方的api進行更深入的學習
ApacheCommons有很多子項目,常用的項目如下
詳細使用參考這里點擊進入
作者:kenx
❷ 在java中存放字元串變數的對象屬於什麼類對象
在java中存放字元串變數的對象屬於StringBuffe類虧散對象。
因為在java生成啟辯字元串的兩個類String和StringBuffer中,前者生成的字元串是不變字元串不能直接對它的內容進行修改,而後者生成的字元串是可變的,可以對其內容進行修改,所以在java中存放字元串變數的對象屬於StringBuffe類對象。
Java是一門面向對象編銷旁氏程語言。