栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常用类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常用类

1.Object类

1.1 getClass()获取一个对象的类型class Class.Object.Student
1.2 hashCode方法,返回该对象的散列码值
如果两个对象的哈希码值不同,那这两个对象一定不等;
如果两个对象的哈希码值相同,不能确保这两个对象一定相等。
1.3 toString方法,返回该对象的字符串表示,默认返回运行时类名+@+对象的hashCode的16进制,一般需要被重写
1.4 equals方法,判断两个对象是否相,一般也需要重写
1.5 finalize() 当垃圾回收器确定不存在对该对象的更多引用时,对象的圾回收器调用该方,一般需要被重写

//Student类

package Class.Object;

import java.util.Objects;

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + ''' +
                ", age=" + age +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age && Objects.equals(name, student.name);
    }

    @Override
    protected void finalize() throws Throwable {
        System.out.println(this.name+"对象被回收了");
    }
}

 Student s1 = new Student("ming",25);
        Student s2 = new Student("uzi",23);
//        判断是s1和s2是不是一个类型
//        1.getClass方法
        Class  class1=s1.getClass();
        Class  class2=s2.getClass();
        if(class1==class2){
            System.out.println(class1);
            System.out.println("同一类型");
        }else {
            System.out.println("不是同一类型");
        }
        System.out.println("======================");
//        2.hashCode方法
        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
        Student s3=s1;
        System.out.println(s3.hashCode());
        System.out.println("======================");
        //3.toString方法,在Studeng中已经被重写
        System.out.println(s1.toString());
        System.out.println(s2.toString());
        System.out.println(s3.toString());
        System.out.println("======================");
//        4.equals方法,判断两个对象是否相等
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        Student s4 = new Student("uzi",23);
        System.out.println(s2.equals(s4));
//        s2和s4不同,所以要重写equals方法
    	Student s5 = new Student("ming",25);
        Student s6 = new Student("uzi",23);
        new Student("ming",25);
        new Student("uzi",23);
        System.gc();
        System.out.println("回收垃圾");

2.包装类

一般来说,java中有8大数据类型,被定义后存放在栈里边,而包装后,会有一些方法且存放在堆空间中。

引用类型转换为基本类型称之为拆箱,基本类型转换为引用类型称之为装箱。

1.Int与Integer类型的转换
//        自动装箱
        int age=20;
        Integer integer4=age;
//        自动拆箱
        int age2=integer4;
2.基本类型与字符串的转换
        int num = 18;
//        使用Integer类型
//        1.构造方法
        Integer integer1 = new Integer(num);
//        Integer integer2 = Integer.valueOf(num);
//        2.类型转换:拆箱
        Integer integer3 = new Integer(100);
//        int i = integer3.intValue();

//        自动装箱
        int age = 20;
        Integer integer4 = age;
//        自动拆箱
        int age2 = integer4;
1.基本类型转换为字符串
1.基本类型转换为字符串
        int n1 = 100;
//        1.1使用+号
        String s1 = n1 + "";
//        1.2 使用INtegar中的toString方法
        String s2 = Integer.toString(n1, 16);
        
2.字符串转换为基本类型
//        字符串转换为基本类型
        String str = "150";
//        使用Integer中的parseXXX();
        int n2 = Integer.parseInt(str);
   
//Integer缓冲区的范围是-128-12
        

3.boolean字符串形式转换为基本类型 “true”–>true 非"true"–>false
	    String str2 = "true";
        String str = "ture";
        boolean b1 = Boolean.parseBoolean(str2);//true
        boolean b2 = Boolean.parseBoolean(str2);//false
3.String类

length()返回字符串长度
charAt( int index )返回某个位置的字符 contains(Strin str)判断是否包含某个字符串,返回值为true或false
toCharArray() 将字符串转换成数组
Indexof(Strin str,int index)查找str首次出现的下标,存在则返回改下标,不存在则返回-1,index为开始寻找的下标
castIndexOf(String str)查找字符串在当前字符串中最后一次出现的下标索引 trim()去掉字符串前后的空格
toUpperCase()字符串转换为大写toLowerCase()
endWith(String str)判断是否以str结尾startWith判断是否以str开头 replace(char oldChar,chanewChar)将旧字符串替换为新字符串
spilt(String str)根据str做拆分
equals(Strinstr);比较字符串是否相等
equalsIgnoreCase()忽略大小写的比较
compareTo(Strinstr);比较两个字符串的大小
subString(int index1,inindex2)从低index1的位置截取字符串到index2的位置

4.StringBuffer,StringBuilder 类

StringBuffer可变长字符串,运行效率慢、线程安全
StringBuilder可变长字符串,运行效率快、线程不安全

StringBuffer和StringBuilder 效果一样可以替换

 //	1.append();追加
        sb.append("java世界第一");
        System.out.println(sb.toString());
        sb.append("java真香");
        System.out.println(sb.toString());
//       2.insert();添加
        sb.insert(0, "你好");
        System.out.println(sb.toString());
 //      3.replace();替换
        sb.replace(0, 6, "php");
        System.out.println(sb.toString());

 //       4.delete();删除
        sb.delete(7, 11);
        System.out.println(sb.toString());
 //        5.reverse()反转
System.out.println(sb.toString());
5.BigDecimal类

BigDecimal打的浮点数精确计算

        double d1=1.0;
        double d2=0.9;
        System.out.println(d1-d2);
        double res=(1.4-0.5)/0.9;
        System.out.println(res);
//        BigDecimal打的浮点数精确计算
//        减法
        BigDecimal bd1=new BigDecimal("1.0");
        BigDecimal bd2=new BigDecimal("0.9");
        BigDecimal bd3=bd1.subtract(bd2);
        System.out.println(bd3);
//        加法
        BigDecimal bd4=bd1.add(bd2);
        System.out.println(bd4);
//        乘法
        BigDecimal bd5=bd1.multiply(bd2);
        System.out.println(bd5);
//        除法,除不尽的时候,可以用divide的重载,后边一位是保留的小数,在后边是取舍的方式,一般用BigDecimal.ROUND_HALF_UP,即四舍五入
        BigDecimal bd6 = new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
        System.out.println(bd6);
        BigDecimal bd7=new BigDecimal("10").divide(new BigDecimal("3"),3,BigDecimal.ROUND_HALF_UP);
        System.out.println(bd7);.
6.Date类

Date表示特定的瞬间,精确到毫秒,Date的大部分类已经被Calendar类中的方法取代。

1.创建date对象
        //     今天的时刻
        Date date1=new Date();
        System.out.println(date1.toString());
        System.out.println(date1.toLocaleString());
//        昨天的时刻
        Date date2=new Date(date1.getTime()-60*60*24*1000);
        System.out.println(date2.toLocaleString());
//        方法after() before()
        boolean b1=date2.after(date1);
        System.out.println(b1);
        boolean b2=date2.before(date1);
        System.out.println(b2);
//        比较compareTo();
        int d=date1.compareTo(date2);
        System.out.println(d);
        int d2=date1.compareTo(date1);
        System.out.println(d2);
//        equals比较是否相等
        System.out.println(date1.equals(date2));
        
7.Calendar类

Calendar提供了获取或者设置各种日历字段的方法。
构造方法:peotected Calendar():由于修饰符是protected,所以无法直接创建该对象
其他方法:

  Calendar calendar=Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString());
        System.out.println(calendar.getTimeInMillis());
//        获取时间信息
        int year=calendar.get(Calendar.YEAR);
//        int year=calendar.get(1);和上边相同
        int month=calendar.get(Calendar.MONTH);
        int day=calendar.get(Calendar.DAY_OF_MONTH);
        int hour=calendar.get(Calendar.HOUR_OF_DAY);//HOUR是12小时制
        int minute=calendar.get(Calendar.MINUTE);
        int second=calendar.get(Calendar.SECOND);
        System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");
//        修改时间
        Calendar calendar2=Calendar.getInstance();
        calendar2.set(calendar.DAY_OF_MONTH,20);
        System.out.println(calendar2.getTime().toLocaleString());
//        add方法修改时间
        calendar2.add(Calendar.HOUR,1);//calendar2.add(Calendar.HOUR,-1);
        System.out.println(calendar2.getTime().toLocaleString());
//        补充方法
        int max=calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
        int min=calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);
        System.out.println(max+"......"+min);
8.SimpleDateFormat类

SimpleDateFormat是一个以语言环境有关的方式来格式化和解析日期的具体类、
进行格式化(日期->文本)、解析(文本->日期 )

public static void main(String[] args) throws Exception{
//1.创建SimpleDateFormat对象 Y 年   M 月
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日 hh:mm:ss");
       SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/mm/dd");
//      2. 创建Date
        Date date=new Date();
//        3.格式化date(把日期转换为字符串)
        String str=sdf.format(date);
        System.out.println(str);
//        解析:把字符串转换为日期
        Date date1 = sdf2.parse("1998/07/28");//必须符合上边定义的格式,否则报错
        System.out.println(date1);
}
9.System类

System系统类,主要用于获取系统的属性数据和其它操作,构造方法私有的

//       1. arraycopy数组的复制
//        src源数组,srcPos从哪个位置开始复制,dest目标数组,destPos目标数组位置,length复制的长度
        int[] arr1 = {1, 2, 3, 4, 5, 6};
        int[] arr2 = new int[6];
        System.arraycopy(arr1, 2, arr2, 2, 3);
        for (int i : arr2) {
            System.out.println(arr2[i]);
        }
//        Arrays.copyOf();也是复制,不过是来自System方法实现的
//        2.currentTimeMillis(),可以计时
        System.out.println(System.currentTimeMillis());
        long start = System.currentTimeMillis();

        for (int i = 0; i < 999999; i++) {
            for (int i1 = 0; i1 < 99999; i1++) {
                int res = i + i1;
            }
        }
        long end = System.currentTimeMillis();
        System.out.println("用时:" + (end - start));
//        3.System.gc();告诉垃圾回收器回收垃圾
        System.gc();
//        4.exit()推出jvm
        System.exit(0);
        System.out.println("程序已经结束了");//程序结束了,所以不会执行
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号