java学习(5)(常用类)

java常用核心类

Object:终极父类

java.lang.Object类是java语言中所有类的根类,所有的类(包括数组)都继承该类中的方法。

toString():返回对象的字符串表示。

equals():比较两个对象是否相等。(该方法比较的是两个对象的引用,即相当于两个对象使用”==“号进行比较)

在子类中,使用equals(ClassName obj)覆盖equals()方法是一个常见的错误,应该用equals(Object obj)覆盖equals()方法。

hashCode():返回一个对象的哈希码值(十进制内存地址),它是一个整数,主要用来比较对象的大小。

hashCode()方法和equals()方法必须是兼容的,即x.equals(y)与x.hashCode()==y.hashCode()的返回值必须都为true或false,如果为一个类覆盖了equals()方法,则也需要覆盖hashCode()方法,以兼容equals()方法。

clone():克隆一个对象,即创建一个对象副本。要使类的对象能够克隆,类必须实现Cloneable接口。该方法返回值类型为Object,因此需进行强制类型转换。

Car c1 = new Car("宝马","棕色");
Car c2 = (Car)c1.clone();

调用clone()方法创建副本,用==比较两个对象,结果为false,使用equals()方法比较两个对象,结果为true。

finalize():当对该对象没有引用时有垃圾回收器调用。

在java程序中,每个对象都有一个finalize()方法,在程序中每个对象的finalize()方法仅被调用一次,可清除在对象外被分配的资源。

Math类

Math类是final类,不能被继承,其构造方法的访问修饰符是private,不能被实例化。其定义的常量以及方法都是静态的,仅能通过类名访问。

asin(double x):返回x的绝对值。

sqrt(double x):返回x的平方根。

pow(double x,double y):返回x的y次方。

random():0.0~1.0的随机数,左闭右开。

ceil(double x):返回大于或等于x的最小整数。(上)

floor(double x):返回小于或等于x的最大整数。(下)

rint(double x):返回与x最接近的整数,如相等,则返回其中的偶数。

round(float x):返回(int)Math.floor(x+0.5)。

基本类型包装类

int-----Integer

long------Long

float-----Float

double-----Double

boolean-----Boolean

char------Character

byte-----Byte

short-----Short

每种包装类型的对象中所包装的值是不可改变的,要改变对象中的值必须重新生成新的对象。

每个数值包装类中定义了SIZE(数据所占位数)、BYTES(数据所占的字节数)、MAX_VALUE、MIN_VALUE常量。

Float和Double类中还定义了POSITIVE_INFINITY(正无穷)、NEGATIVE_INFINITY(负无穷)、NAN(非数值)。

自动装箱:基本类型的数据可以自动转换为包装类的实例。

Integer value = 308;

自动拆箱:包装类的实例自动转换为基本类型的数据。

int x = value;

字符串转换为基本类型:通过包装类的parseXxx()静态方法实现。

parseInt()、parseByte()、parseShort()、parseLong()、parseFloat()、parseDouble()、parseBoolean()

将字符串转换为基本数据类型,字符串的格式必须与要转换的数据格式匹配,否则产生NumberFormatException异常。

int d = Integer.parseInt("314");

BigInteger和BigDecimal类:扩展了Number类并实现了Comparable接口,它们的实例都是不可变的。

日期-时间

java.time包中,提供了日期-时间API。

LocalDate:本地日期类,LocalDate对象用来表示带年月日的日期,不带时间信息。

LocalTime:本地时间类,包含时、分、秒,它是不可变对象。

LocalDateTime:本地日期时间类,该对象是前两个对象的组合,用来表示一个特定事件的开始时间等。

now():获得默认时区系统时钟当前日期和时间对象。

of(int year,int month,int dayOfMonth,int hour,int minute):通过指定的年月日和时分获得日期时间对象。

Instant类:表示时间轴上的一个点。

Duration类,Period类:表示一段时间,前者是基于时间的,后者是基于日期的。

时态数据解析:parse()方法将一个字符串(”2015-07-09“)解析成日期数据2015年7月9日。

时态数据格式化:format()方法使用指定的格式将时态对象表示成字符串。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值