Java常用类(三)

一、object类

1.getclass()

2.hashcode()

public int hashcode(){}

返回对象的哈希值

哈希值指的是根据对象的地址或字符串或数字使用hash算法计算出的int 类型的数值

用于判断两个对象是不是同一个

3.toString()

public String toString(){}

与hashcode用法类似

也可以用于返回字符串

4.equals()

比较地址

对象1.epuals(对象2)

this(当前对象) == obj(用于比较的对象)

5.finalize()

垃圾回收(清除不被引用的内存占用)

二、String

字符串,是一种常量,存储在字符串池中

如果是变量定义,创建一个对象在池中

如果是new出来的,创建两个对象(一个在池,一个在堆)

引用类型在栈里,对象在堆里

当修改字符串的数值时,不是把原来的数值变成新的数值,而是在字符串池中新开辟一段空间存储新的值,变量指向新的值而不是旧的值,原数值变成垃圾等待回收

字符串共享:同一个常量值可以被两个引用类型引用

String类重写父类(Object)equals方法,因此使用他进行两个对象的比较时,比较的是值而不是地址

——————

可变字符串:(减少浪费)

StringBuffer/StringBuilder

1、append() 追加

2、insert() 添加

对象.insert(添加的初位置,添加的东西);

3、replace() 替换

对象.replace(初位置,末位置,替换的东西);

注意:含头不含尾,所以末位置-1才是被替换的最后一位

4、delete() 删除

delete(初位置,末位置);

清空全部:delete(0,对象.length());

5、转换

字符串转换成基本数据类型:

parseXXⅩ(“字符串的数值”)

基本数据类型转换成字符串

valueOf(变量名)

三、BigDecimal

因为double和float都是近似值,没法进行正确计算,所以使用BigDecimal精确计算浮点数

必须使用字符串

import java.math.BigDecimal;

加法:add

减法:substract

乘法:multiply

除法:divide(BigDecimal bd,int scal指定取舍的位数,RoundingMode mode指定小数的取舍模式)

ROUND_HALF_UP:四舍五入

四、Calendar

import java.util.Calendar;
import java.util.Date;
public class TestCalendar {
    public static void main(String[] args) {
        //创建对象获取时间
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString());
        //获取时间信息 年月日
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH)+1);  
        //月份从零开始,所以要获得正确的月份得+1
        System.out.println(calendar.get(Calendar.DATE));
        //修改时间
        Calendar calendar2 = Calendar.getInstance();
        calendar2.set(Calendar.DATE,20);  //把天改成20
        System.out.println(calendar2.getTime().toLocaleString());
        //add增加时间
        calendar2.add(Calendar.MINUTE,10);
        System.out.println(calendar2.getTime().toLocaleString());
        //获取最大/最小值
        //获取本月最大值
        System.out.println(calendar2.getActualMaximum(Calendar.DAY_OF_MONTH));
        //获取最小值
        System.out.println(calendar2.getActualMinimum(Calendar.DAY_OF_MONTH));
    }
}

四、SimpleDateFormat

格式化:日期变文本   format

解析:文本变日期    parse

yyyy:年      MM:月        dd:日        hh:1-12小时         HH:24小时制         mm:分         ss:秒

import java.util.Date;
import java.text.SimpleDateFormat;
public class TestSimpleDateFormat {
    public static void main(String[] args) {
        //创建Date
        Date ss = new Date();
        //创建SimpleDateFormat对象,设定时间的格式
        SimpleDateFormat fd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = fd.format(ss);   //格式化
        System.out.println("格式化结果:"+time);
    }
}

五、System

1、arraycopy()    数组复制

public class ArrayCopy {
    public static void main(String[] args){
        int[] arr0 = {13,2,54,61,20};
        int[] arr1 = new int[7];   //定义一个数组
               // 原数组,复制的起始位置,目标数组,目标数组起始位置,复制长度
        System.arraycopy(arr0,0,arr1,0,arr0.length);
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }
}

2、currentTimeMills()   获取时间(毫秒)

public class Time {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        for (int i = 0; i < 900; i++) {
            for (int j = 0; j < 100; j++) {
                int result = i*j;
            }
        }
        long end = System.currentTimeMillis();
        System.out.println(end-start);   //得到计算for循环所用的时间
    }
}

3、gc()   提醒回收垃圾

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值