第四周:面向对象部分内容总结(4)---java常用类
常用类
1、包装类

1 //自动装箱(基本数据类型-->包装类型) 2 Integer i=3; 3 //自动拆箱(包装类型-->基本数据类型) 4 int num = i;
1.1、hashcode();
1、[Object]类的hashCode.返回对象的 [内存地址]经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。
2、String类的hashCode.根据String类包含的字符串的内容,根据一种特殊算法返回哈希码,只要字符串所在的堆空间相同,返回的哈希码也相同。
3、Integer类,返回的哈希码就是Integer对象里所包含的那个整数的数值,例如Integer i1=new Integer(100),i1.hashCode的值就是100 。由此可见,2个一样大小的Integer对象,返回的哈希码也一样。
1.2、常用方法
parseInt(String str):
将字符串作为十进制进行解析,“123”--->123
valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。
说明:自动装箱和拆箱是在jdk1.5(含)之后加进来的。
2、Math类
abs绝对值
ceil向上取整
floor向下取整
round四舍五入=floor(a+0.5)
3、String 类
String对象的创建方式
主要分为两种:
1、直接赋值:String str = value; 采用常量池机制保存数据
首先扫描常量池,如果发现池中没有该字符串,那么此时从常量池创建一个,如果发现池中本来就有该字符串,那么此时直接引用即可。
2、采用new的形式:String str = new String(value);采用是堆栈机制完成
1 public class StringDemo02 { 2 public static void main(String[] args) { 3 String msg = "hello"; 4 String newMsg = new String("hello"); 5 String msg3 = "hello"; 6 String newMsg2 = new String("hello"); 7 //true 8 System.out.println(msg.equals(newMsg)); 9 //false,一个在常量池,一个在堆 10 System.out.println(msg==newMsg); 11 //true 12 System.out.println(msg==msg3); 13 //false,堆地址不同 14 System.out.println(newMsg==newMsg2); 15 } 16 }
4、StringBuffer类
创建方式只有一种:使用构造方法完成StringBuffer对象的创建操作
StringBuffer sb = new StringBuffer("hello");
当字符串内容需要频繁修改的时候,此时使用StringBuffer类会比较好,其它情况下使用String和StringBuffer基本一致。StringBuffer类也存在很多与String类似的方法。
JDK 5.0 版本以后提供了StringBuilder 类,它和StringBuffer 类等价,不支持线程同步(同步即线程安全)
StringBuffer的方法被 synchronized 修饰,同步,线程安全

浙公网安备 33010602011771号