在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");参数为进程名和用该进程打开文件名。