java API的一些知识点(一)

来源:互联网 发布:倚天美指的交易软件 编辑:程序博客网 时间:2024/05/22 06:53

1、"=="与equals()的区别:

"=="用来比较两者是否引用了同一个对象,即比较的是引用

equals()是Object类的一个方法,设计愿意是通过该方法用来比较两个对象的内容是否相同。由于Object是所有类的父类,所以每个类都含有这个方法。只是,在默认不去overwrite重写的情况下,比较的依旧是引用。通过重写equals()方法来定义内容比较规则,从而实现比较内容的情况。

2、String的知识

String是java中用来封装字符串序列的类。String是一个引用类型,是由sun直接封装好的一个类,所以可以直接拿来使用。String对象一经创建就不可以改变,这是因为其内部是由一个final修饰的char数组实现。

String中的一些方法的说明:

a、boolean equals():String中重写了这个方法,所以,可以直接使用这个方法来比较两个字符串对象的内容(区分大小写)。

b、boolean equalsIgnoreCase():忽略大小写的equals()比较方法

c、int indexOf(String str):返回当前字符串中第一次出现给定字符串的位置,若给定字符串在当前字符串中不存在则返回-1

3、StringBuilder和StringBuffer的异同

这两个类用于对字符串进行修改。

主要的区别在于前者是非线程安全,而后者是线程安全的。这样两者在操作速度上就出现了差异,StringBuilder的速度要快于StringBuffer。

4、Date时间类

java中Date实例用于描述一个时间,Date当中封装了一个long值,该值表示的是从1970年1月1日0点0分0秒到Date所描述的时间值的一个毫秒差。

SimpleDateFormat用来将字符串描述的日期值和Date描述的时间进行转换,通过日期格式字符串来实现

日期格式中个符号代表的意思:

y  :代表年            yyyy:四位数字的年
M :代表月           MM:两位数字的月
d  :代表日           dd:两位数字的日  (月中的日,我们也叫号)
E:星期
a:上下午
h:12小时制的小时      hh  :两位12小时制的小时
H:24小时制的小时     HH:两位24小时制的小时
m:代表分
s  :代表秒

//字符串转换成DateString str = "1989-08-16";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date date = sdf.parse(str);//Date转换成字符串SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String str = sdf.format(new Date());

5、自动拆装箱特性

java中有8中基本类型,但是由于某些地方必须使用对象,所以出现了基本类型的封装类。

基本类型                            引用类型(包装类)
   int                                        Integer
   char                                    Character
   byte                                     Byte
   short                                   Short
   long                                     Long
   float                                     Float
   double                                Double
   boolean                              Boolean

在jdk1.5中增加了自动拆装箱特性,可以自动的在基本类型数据和其对应的封装类之间进行自动的转换

自动装箱:可以自动将一个基本类型数据转换为其包装类型实例

语法现象:

Integer i = 2;//这在jdk1.5之前是不允许的,必须使用这样的语句Integer i = Integer.valueOf(2);才不会出现编译错误

自动拆箱:可以将一个封装类型自动转换为对应的基本类型数据

语法现象:

Integer i = new Integer(2);

int j = i;//自动拆箱(jdk1.5之前需要使用int j = i.intValue()这样的语句来手动拆箱)

总的来说就是,实现了基本类型和其封装类实例之间可以直接"="的关系。