类库就是在库存里提前写好的,import后拿来调用的类
类即有成员变量,构造方法,和成员方法
Object类库
常用方法
equals
指示其他某个对象是 否与此对象“相等”
两种重写
Shift+Alt+S加快捷键生成的
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
利用instanceceof判断生成的
@Override
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person other = (Person)obj;
if(this.age == other.age) {
return true;
}
}
return false;
}
toString
返回该对象的字符串表示
直接就是对象打印出来
不重写就是打印默认字符串:类名@对象的十六进制哈希码(hashCode)
包装类
数值包装类(Byte、Short、Integer、Long、Float和Double)
1这几个每个类都有两个构造方法:
Integer(int value):通过指定一个数值构造Integer对象。
Integer(String s):通过指定一个字符串s构造对象,s是十进制字符串表示的数值。???
2这6个数值包装类有一个共同的父类—— Number,Number是一个抽象类,除了这6个子 类还有:AtomicInteger、AtomicLong、 BigDecimal和BigInteger,其中BigDecimal和 BigInteger后面还会详细介绍。Number是抽象类,要求它的子类必须实现如下6个方法:
int intValue():将当前包装的对象转换为int 类型的数值.第一个int就是创建出来的对象
3
以 Integer为例,方法定义如下:
static int parseInt(String s):将字符串s转换有 符号的十进制整数。
static int parseInt(String s, int radix):将字符串s转换有符号的整数,radix是指定基数,基数用来指定进制。注意这种指定基数的方法在浮点数包装类(Double和Float)中没有的
//1.构造对象
//创建数值为80的Integer对象
Integer objInt = new Integer(80);
//创建数值为80.0的Double对象
Double objDouble = new Double(80.0);
//2.Number类方法转值
//Number是抽象类,是数值包装类的共同父类;方法都是转值的,格式:xxxValue()
//Number类中的方法比如int public abstract int intValue()
//Integer对象转换为long数值
long longVar = objInt.longValue();//调用父类里的方法,抽象的
//Double对象转换为int数值
int intVar = objDouble.intValue();
//3.compareTo()方法
//对象调用
//方法 返回值是int,如果返回值是0,则相等;如果返 回值小于0,则此对象小于参数对象;如果返回 值大于0,则此对象大于参数对象。
Float objFloat = new Float(100);
Float objFloat1 = new Float(200);
int i = objFloat.compareTo(objFloat1);
//i = -1;表示objFloat小于objFloat1
System.out.println(i);
//4.字符串转换为基本类型
//数值包装类的类名比如Integer调用转换。Integer.parseInt();
int intVar2 = Integer.parseInt("100");
//类方法public static int parseInt(String s)
int intVar3 = Integer.parseInt("ABC", 16);
//类方法public static int parseInt(String s, int radix) radix是进制
//5基本类型转字符串
String str1 = Integer.toString(100);
String str2 = Integer.toString(100, 16);
}
Character
Character(char value):构造方法,通过char值创 建一个新的Character对象
// 创建数值为'A'的Character对象
Character objChar1 = new Character('A');
// 从Character对象返回char值
char ch = objChar1.charValue();
// 字符比较
Character objChar2 = new Character('C');
int result = objChar1.compareTo(objChar2);
// result = -2,表示objChar1小于objChar2
if (result < 0) {
System.out.println("objChar1小于objChar2");
}
Boolean类
Boolean类有两个构造方法
Boolean(boolean value):通过一个boolean值创建Boolean对象。
//Boolean(String s):通过字符串创建Boolean对象。s不能为null,s如果是忽略大小写"true"则转换为true对象,其他字符串都转 换为false对象。
Boolean类有int compareTo(Boolean包装类对象) 方法,可以进行包装对象的比较。方法返回值 是int,如果返回值是0,则相等;如果返回值小 于0,则此对象小于参数对象;如果返回值大于 0,则此对象大于参数对象
s不能为null,s如果是 忽略大小写"true"则转换为true,其他字符串都 转换为false。
// 创建数值为true的Character对象true
Boolean obj1 = new Boolean(true);
// 通过字符串"true"创建Character对象true
Boolean obj2 = new Boolean("true");
// 通过字符串"True"创建Character对象true
Boolean obj3 = new Boolean("True");
// 通过字符串"TRUE"创建Character对象true
Boolean obj4 = new Boolean("TRUE");
// 通过字符串"false"创建Character对象false
Boolean obj5 = new Boolean("false");
// 通过字符串"Yes"创建Character对象false
Boolean obj6 = new Boolean("Yes");
// 通过字符串"abc"创建Character对象false
Boolean obj7 = new Boolean("abc");
boolean b1 = Boolean.parseBoolean("true");
boolean b2 = Boolean.parseBoolean("True");
boolean b3 = Boolean.parseBoolean("TRUE");