java字符串就是Unicode字符序列,例如"Java"就是四個Unicode字符
java沒有內置的字符串類型,而是在標准Java類庫中提供了一個預定義的類String。每個用雙引號括起來的字符串都是String類的一個實例。
Java允許使用符號"+"把兩個字符串鏈接起來。
String s1="Hello";String s2="World"; String s=s1+s2;"HelloWorld"
符號“+”把兩個字符串an給定的順序連接在一起,並且完全按照給定的形式。
當"+"運算符兩側的操作數中只要有一個是字符串(String)類型,系統會自動將另一個操作數轉換為字符串在進行連接。
int age=18; String s="age"+age;// age18
字符串的常用類型:
char charAt(int index):返回字符串中第index個字符。
boolean equals(String other):如果字符串和other相等,就返回true
boolean equalsIgnoreCase(String other):如果字符串與other相等(忽略大小寫),則返回true
int indexOf(String str)
int indexOf(String str,int fronIndx):返回與str匹配的第一個字符串開始的位置,該位置從0或fronIndx計算,如果原始串中不存在str,返回-1。
int length():返回字符串的長度
String replace(char oldChar,char newChar):返回一個新串,它是通過newChar替換此字符串中出現的所有oldChar而生成的
boolean rtartsWith(String prefis):如果字符串以prefis結尾,就返回true
String substring(int beginIndex)
String substring(int beginIndex,int endIndex):返回一個新的字符串,該串包含從原始字符串beginIndex到串尾endIndex-1的所有字符串
String toLowerCase():返回一個新的字符串中所有大寫字母改寫成小寫字母
String toUpperCase():返回一個新的字符串,該串原始字符串中的所有小寫改成大寫
String trim():返回一個新的字符串,該串刪除了原始字符串頭部和尾部的空格
字符串相等的判斷
equals方法用來檢測兩個字符串內容是否相等,相等返回true,否則false
內容可以是字符串變量,也可以是字符串常數。例如"Hello".equals(t)
要測試兩個字符串除了大小寫是否相等的,需要使用equalsIgnoreCase方法:"Hello".equalsIgnoreCase("hello")
判斷字符串是否相等使用“==”
String g1="Hello World!";
String g2="Hello World!";
boolean b1=g1.equals(g2);
System.out.println("\tg1.equals(g2) 是否相等:" + (b1 ? "相等" : "不相等") );
boolean b2=(g1==g2);
System.out.println("\tg1==g2 是否相等:" + (b2 ? "相等" : "不相等") );
System.out.println("=========================================");
String s1=new String("Hello World!");
String s2=new String("Hello World!");
boolean b3=s1.equals(s2);
System.out.println("\ts1.equals(s2) 是否相等:" + (b3 ? "相等" : "不相等") );
boolean b4=(s1==s2);
System.out.println("\ts1==s2 是否相等:" + (b4 ? "相等" : "不相等"));
}
}
/**
* g1.equals(g2) 是否相等:相等
* g1==g2 是否相等:相等
*======================================
* s1.equals(s2) 是否相等:相等
* s1==s2 是否相等:不相等
==和equals的區別和聯系
==:
a)基本類型,比較的是值
b)引用類型,比較的是地址
c)不能比較沒有父子關系的兩個對象
equals()
a)系統類一般已經涵蓋的equals比較的是內容
b)用戶自定義類如果沒有覆蓋equals(),將調用父類的equals()
c)用戶自定義類需要覆蓋父類的equals()
Objest比較的==和equals都是地址