String的常用方法

image.png
以上是我們平時常用的方法,建議自己手動測試練習加以記憶,其他方法可以查閱文檔。
将字元串轉換為byte數組
示例代碼:
String name = "java 程式設計 基礎";
byte[] b = name.getBytes();
for(int e: b){
System.out.print(e+" ");
}
輸出結果:
106 97 118 97 32 -25 -68 -106 -25 -88 -117 32 -27 -97 -70 -25 -95 -128
在utf-8編碼中,一個漢字是用三個位元組去表示,是以上邊輸出為三個連續負數。
每個位元組為8位,最大值是不能超過127的,而漢字轉換為位元組後是超過127的,之後就會發生溢出,以負數的方式顯示。
将byte數組轉為字元串:
String e = new String(b);
System.out.println(e);
new String()方法可以傳入編碼方式,(gbk utf-8)
byte數組和字元串互轉時,編碼要相同。
==和equals方法的差別
String a = "allen";
String b = "allen";
String c = new String("allen");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(b));
System.out.println(a.equals(c));
-
對于==, 如果作用于基本資料類型的變量,則直接比較其存儲的 “值”是否相等;
如果作用于引用類型的變量,則比較的是所指向的對象的位址
- 對于equals :注意:equals方法不能作用于基本資料類型的變量如果沒有對equals方法進行重寫,則比較的是引用類型的變量所指向的對象的位址;諸如String、Date等類對equals方法進行了重寫的話,比較的是所指向的對象的内容。 來源于慕課網.png
Java入門—字元串
字元串的不可變性
String對象被建立後,是不可變的。
所謂的修改是建立了新的對象。原變量指向了新的對象。
字元串處理類StringBuilder
差別:StringBuilder 是可變的。
當頻繁操作字元串時,建議使用 StringBuilder ,如果使用String,會産生很多中間變量,會在常量池産生很多廢棄的資料。
StringBuilder 和 StringBuffer
二者基本相似,StringBuffer是線程安全的(相對來說速度慢),StringBuilder非線程安全,但是性能高。
四種構造方法:
如果文章對你有幫助記得點個贊~
關注作者後續更新不錯過~