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 :代表秒
//字符串转换成Date
String 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()这样的语句来手动拆箱)
总的来说就是,实现了基本类型和其封装类实例之间可以直接"="的关系。