Java复习常用类

String:

String对象创建后不能被修改,是不可变的。所谓的修改其实是创建了一个新的对象,所指向的内存空间不同

String s1=”aaa”;  String s2=”aaa”;  s1==s2;true

String s3=new String(“aaa”);String s4=new String(“aaa”);s3!=s4; s1!=s4;

s1=”bbb”+s1;字符串s1被修改,指向新的内存空间

在创建s1字符串时,声明了一个字符串对象,s1存放了到字符串的引用,然后通过

s1=“bbb”+s1  改变了字符串s1,实质是创建类新的字符串对象,变量s1指向了新创建的字符串对象。

一旦一个字符串在内存中创建,则这个字符串不可改变,如果需要一个可以改变的字符串,可以使用StringBuffer或者StringBuilder。

每次new一个字符串就是产生一个新的对象,使两个字符串的内容相同,使用“==”比较也为false,如果只需要比较内容是否相同,应该使用eauqls()方法

int length()返回字符串的长度

int indexOf(ch)查找ch字符在该字符串中第一次出现的位置

int indexOf(String str)查找str字符串在该字符串中第一次出现的位置

int lastIndexOf(ch)查找ch字符在该字符串中最后出现的位置

int lastIndexOf(String str)查找str字符串在该字符串中最后出现的位置

String substring(int beginIndex)获取从beginIndex位置开始到结束的子字符串

String substring(int beginIndex,int endIndex)获取从beginIndex位置开始到endIndex的子字符串

String trim()返回除了前后空格的字符串

boolean equals(Object obj)将该字符串与指定对象比较,返回true或false

String toLowerCase()将字符串转换为小写

String toUpperCase()将字符串转换为大写

char charAt(int index)获取字符串指定位置的字符

String[] split(String regex,int limit)按照regex将字符串分割为子字符串,返回字符串数组

byte[] getbytes将该字符串转换为byte数组

==:引用类型,判断引用是否指向同一个地址,两个字符串在内存中首个地址是否相同,及判断是否是同一个字符串对象;char或者其他基本类型比较值

equals:比较存储在两个字符串对象中的内容是否一致

equals一般需要重写,用于判断两个变量是否是同一个对象的引用,即堆中的内容是否相同;String类型比较不同的对象内容是否相同,应用equals而不是==,因为==用于比较基础数据类型和引用数据类型时具有不同的功能

String类具有不可变性,频繁操作字符串时,比如+,会生成很多临时变量,使用StringBuffer和StringBuilder类可以避免此类问题,后面两者基本相似,不同之处:StringBuiffer时线程安全的,而StringBuilder是没有实现线程安全功能,所以性能较高,所以创建一个可变的字符串对象,优先考虑StringBuilder

StringBulider append(参数) 追加内容到当前StringBuilder对象的末尾

StringBuilder inster(位置,参数) 将内容插入到StringBuilder对象的指定位置

String toString()将StringBuilder对象转换为String对象

Int length()  获取字符串长度

Interger:

       Byte[] byteValue()将Integer转换为byte类型

       Double doubleValue() 转为double类型

       Float floatValue()

       Int intValue()

       Long longValue()

       Static int parseInt(String s) 将字符串转换为int类型

       String toString()转换为字符串类型

       Static Integer valueOf(String s)将字符串转换为Integer类型

基本类型和字符串之间的转换

       基本类型转换成字符串:

              使用包装类的toString()方法

              使用String类的valueOf()方法

              用一个空字符加上基本类型,得到的就是基本类型对应的字符串

       如:

              Int c=10;

              String str1=Integer.toString(c);//包装类toString()方法

              String str2=String.valueOf(c);//String类的valueOf方法

              String str3=c+””;// 用一个空字符加上基本类型

       字符串转换成借本类型:

              调用包装类的parseXXX()静态方法,XXX代表具体类型

              调用包装类的valueOf()方法转换为基本类型的包装类

       如:

              String str=”8”;

              Int d=Integer.parseInt(str);//调用包装类的静态方法

              Int e=Integer.valueOf(str);//调用包装类的valueOf方法

使用format()方法将日期转换为指定格式的文本

       Date d=new Date();

       SimpleDateFormat df=new SimpleteDateFormat(yyyy年MM月dd日 HH:mm:ss);

       String today=sdf.format(d);

使用parse()方法将文本转换成日期

       String day=” 2014年02月14日 10:30:25”

       SimpleDateFormat df=new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss);

       Date date=df.parse(day);

Calender:进行时间和日期的处理

       是一个抽象类

       通过getInstance()静态方法获取Calender对象,默认当前时间

       Calendar c=Calendar.getInstance();

    Int year=c.get(Calendar.YEAR);//获取年

    Int month=c.get(Calendar.MONTH);//获取月

    Int day=c.get(Calendar.DAY_OF_MONTh);//获取日

    Int hour=c.get(Calendar.HOUR_OF_DAY);//获取小时

    Int minute=c.get(Calendar.MINUTE);//获取分钟

    Int second=c.get(Calendar.SECOND);//获取秒数

    Sout(year+”-”+month+”-”day+”-”hour+”-”minute+”-”+second);

Long time=c.get.TimeInMillis();//获取当前毫秒数

Math类的所有方法都是静态方法,直接类名.方法名  使用该方法

Long round();//放回四舍五入后的整数

Double floor(参数);//返回小于参数的最大整数

Double ceil(参数);//返回大于参数的最小整数

Double random();//返回[0,1)之间的随机浮点数

Int y=(int)(Math.random()*99);//产生[0,99)之间的随机整数

             

猜你喜欢

转载自www.cnblogs.com/hongzxc/p/10848962.html