Object类
Object所有类的父类,所有类都直接或间接的继承自该类
getClass()
获取类的字节码文件的方法
toString()方法
更加方便的显示属性值
equals()方法
主要为了比较对象中的属性值
==跟equals的区别
==:比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,
比较基本数据类型,比较的是值,比较引用数据类型比较的地址值
equals:他是一个方法,只能比较引用数据类型,在没有重写equals方法
之前,属于Object中,底层用==号来实现的。重写equals之后,比较就是
对象中属性值
String类
被final修饰,这个类不能被继承。通过String类创建出来的都是一个个的对象
一旦初始化就不能被改变。长度不能被改变
1.判断定义为String类型的s1和s2是否相等
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
2.下面这句话在内存中创建了几个对象?
String s1 = new String("abc");
//new String()在堆内存中的创建出来的实体,里边存的是常量池中的地址值
3.判断定义为String类型的s1和s2是否相等
String s1 = new String("abc");
String s2 = "abc";
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
4.判断定义为String类型的s1和s2是否相等
String s1 = "a" + "b" + "c";
String s2 = "abc";
System.out.println(s1 == s2); //常量优化机制 byte b = 3 + 4;
System.out.println(s1.equals(s2));
5.判断定义为String类型的s1和s2是否相等
String s1 = "ab";
String s2 = "abc";
String s3 = s1 + "c";
System.out.println(s3 == s2);
System.out.println(s3.equals(s2));
StringBuffer类
长度是可变的。底层也是用数组来做的。线程是安全的。效率低
String,StringBuffer,StringBuilder的区别
String长度不可变的。创建出来的出来对象,String类被final修饰,是一个字面值常量
StringBuffer线程安全的,效率低。长度是可变的。
StringBuilder线程不安全的。效率高
基本数据类型包装类
int —— Integer
char —— Character
Character类里边没有ParseXxx的方法,因为字符串转换成字符的话
字符首先承载不了,一个char中只能存放单个字符。
要将字符串转换成字符的话,用toCharArray()
自动装箱
Integer i = 100;
用一个基本数据类型去给引用数据类型赋值,说明是自动装箱
自动拆箱
int a = i + 100;
用一个引用数据类型去跟基本数据类型进行运算,说明是自动拆箱
Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
System.out.println("-----------");
Integer i3 = new Integer(197);
Integer i4 = new Integer(197);
System.out.println(i3 == i4);
System.out.println(i3.equals(i4));
System.out.println("-----------");
Integer i5 = 87;
Integer i6 = 87;
System.out.println(i5 == i6);
System.out.println(i5.equals(i6));
System.out.println("-----------");
//因为常量池中,维护了一个数组,取值范围在-128~127之间,就不会在重新创建
//对象了。直接从常量池取。
Integer i7 = 128;
Integer i8 = 128;
System.out.println(i7 == i8);
System.out.println(i7.equals(i8));
[abc] 中括号中只能存放的是单个字符
^ 相当于是非,取反
&& 取交集
预定义字符类
\\d 数字 0-9
\\D 非数字 除了0-9
\\s 空格 \r\n\t
\\S 非空格
\\w 单词字符 字母数字下划线
\\W 非单词字符
|
|