第四周:面向对象部分内容总结(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 修饰,同步,线程安全

StringBuilder不支持同步,线程不安全

posted @ 2020-10-11 15:19  StephenTy  阅读(114)  评论(0)    收藏  举报