在windows平臺下,按回車會'\r','\n'兩個字符,而在linux下只產生一個'\n'字符
String類和StringBuffer(StringBuilder)類
1 String類對象中的內容一但初始化就不能再改變。
2 StringBuffer類用于封裝內容可以改變的字符串。使用toString()方法轉換成String類型。
3 StringBuilder類(JDK1.5新加的類)實現了和StringBuffer的同樣的功能,它的操作速度更快,但它不保證多線程的安全性,所以如果它門不參與多線程推薦使用StringBuilder類,而參與多線程推薦使用StringBuffer類.
4 String中提供的一些改變內容的方法,實際上都是調用了StringBuffer類的方法。String="a"+1+"b";編譯時等效于String x=new StringBuffer().append("a").append(a).append("b").toString();
5 字符串常量,實際上是一中特殊的匿名String對象,使用字符串常量有時可以節省內存空間。
String(byte[] bytes, int offset, int length) //構造函數將byte[]轉換成string類型
public String substring(int beginIndex,int endIndex)//從beginIndex開始截取到endIndex-1為止,截取的長度為endIndex-beginIndex.
數據類型與包裝類
boolean---Boolean byte---Byte char--Character short--Short int--Integer long--Long float--Float double--Double
基本數據類型不具有對象的特性,而包裝類具有對象的特性。
String--->Integer的方法 new Integer(String str);Integer.valueOf(str);
Integer--->int的方法 Integer.intValue();
String--->int的三個方法,Integer.parseInt(str);new Integer(String str).intValue;Integer.valueOf(str).intValue();
int--->String String.valueOf(int);
集合類
集合類用于存儲一組對象,其中的每個對象稱之為元素,經常會用到的有Vector,Enumeration,ArrayList,Collection,Iterator,Set,List等集合類和接口。Enumeration,Collection,Iterator,set,List這些接口不是集合類,而是提供了各種方法來操作集合類對象。
Vector類與Enumeration接口
Vector v=new Vector;
Emumeration e=v.elements();
while(e.hasMoreElements())
{
e.nextElement();
}
Enumeration是個接口類,可以從各種數據類型中取出元素。
Collection接口與Iterator接口。
ArraryList是實現Collection接口的類。
ArrayList與Vector的區別:
ArrayList沒有實現線程的同步,而Vector實現了線程的同步,但ArrayList的執行效率比Vector高,所以程序不存在線程安全問題時應使用ArrayList.
Collection,Set,List的區別:
Collection是Set,List的父類,Collection各元素對象之間沒有指定的順序,允許有重復元素和多個null元素對象。
Set各元素對象之間沒有指定的順序,不允許有重復元素,最多允許有一個叫null的元素對象。
List各元素對象之間有指定的順序,允許有重復元素和多個null元素對象。
Hashtable類
Hashtable是高級數據結構,可以快速檢索數據,動態存儲一系列的對象,對存儲的每一個對象(值)都要安排另一個對象(稱為關鍵字)與之相關聯。
存儲數據:Hashtable.put(Object key,Object value) 值和關鍵字可一是任何非空的對象。存儲數據時如關鍵字相同,則原來的那個值被覆蓋掉。
檢索數據:Hashtable.get(Object key) 用作關鍵字的類必須覆蓋Object.hashCode方法和Object.equals方法.
String類的hashCode已經覆蓋了關鍵字類的hashCode,只要兩個字符串相等,他們的hashCode也相等。但StringBuffer類沒有覆蓋關鍵字類的hashCode.
Properties類
1 Propeties類是Hashtable的子類
2 增加了將Hashtable對象中的關鍵字和值保存到文件和從文件中讀取關鍵字和值到Hashtable對象中的方法。
3 如果要用Properties.store(FileOutputStream out,String str)方法存儲Properties對象中的內容,每個屬性的關鍵字和值多必須是String類型的。從文件中裝載數據使用的是Properties.load()方法。
4 Properties.get()方法返回的是Object類型的,Properties.getProperty(..)返回的是String類型的。Properties.setProperty(...)的參數類型必須是String類型.(取得或設置Properties中的值)
System與Runtime類
System類中所有的成員都是靜態的:
1 exit(int status)提前終止虛擬機的運行,正常操作傳遞的參數為0,異常終止傳遞的是非零值。
2 currentTimeMillis方法返回的是一個自1970年1月1日0點0分0秒起的以毫秒為單位的long 型的大數字。
3 Java虛擬機的系統屬性:System.getProperties()和System.setProperties()方法分別取得和設置Java虛擬機的系統屬性。Enumeration e=System.getProperties().propertyNames();
Runtime類
封裝了Java虛擬機進程,一個Java虛擬機對應一個Runtime實例對象,不能直接創建一個對象,通過Runtime.getRuntime()方法返回一個Runtime的實例對象的引用。用exec方法可以啟動一個子進程返回的是一個Process的對象。例:Process p=Runtime.getRuntime().exec("notepad.exe Test.java");參數為進程名和用該進程打開文件名。