学习java的第14天之 java 常用类

object

是什么?

        所有类的父类

因为继承所以所有类都有Object提供的方法,也可以重写Object提供的方法

Object提供的方法

       getClass():获取该类的类对象

                JVM加载class文件时会生成该class文件的对象,class文件的对象称为类对象

                 一个类只有一个类对象,因为一个class文件只会被加载一次 暂时了解就行

        hashCode() Object提供的该方法是用于获取对象的哈希码值(可以理解为对象的内存地址)

        clone() 拷贝该对象,

                注意调用该方法的类要实现Cloneable接口

       toString() 将对象转换为字符串

                        注意:Object提供的该方法是获取调用该方法的对象所属类的地址+@+该对象的内存地址值(16位进 制) System.out.println():打印对象时默认会调用对象的toString方法,所以为方便观看对象的 属性值,所以重写对象所属类的toString方法

        equals(obj) 判断是否相同

                 Object提供的该方法只能判断对象的内存地址是否相同

                String可以使用该方法判断值相同,是因为重写了该方法

                 重写思路 1,先判读内存地址是否相同 2,在判断传入的对象是否是该类对象 3,强制类型转换该对象 4,逐个属性比较

@Override
    public boolean equals(Object obj) {
        if (this==obj) {
            return true;
        }
        if (obj instanceof Cat) {
            Cat cat=(Cat) obj;
            if (this.name.equals(cat.getName())&&
                    this.age==cat.getAge()&&this.color.equals(cat.getColor())) {
                return true;
                
            }
            
        }
        return false;
    }

        finalize():了解 对象销毁时由JVM控制对象调用该方法 因为JAVA有垃圾回收机制所以无须自己手动回收

包装类

概念:八个基本数据类型对应的引用数据类型

byte Byte          short Short

int Integer         long Long

float Float         double  Double

boolean Boolean   char Character

自动装箱 概念:将基本数据类型转换为对应的引用数据类型的对象

自动拆箱 概念:将引用数据类型的对象转换为对应的基本数据类型

整数缓冲区: -128~127

泛型:只能使用引用数据类

转换字符串

        Integer.parseInt(字符串或字符串变量):将字符串转换为int变量 注意字符串必须是整数型的字符串

        Double.parseDouble(字符串或字符串变量):将字符串转换为double变量 注意字符串必须是数的字符串

        Boolean.parseBoolean(字符串或字符串变量):将字符串转换为boolean变量 注意:除true(忽略大小写)字符串以外都是false

System

概念:系统 提供的方法:

        System.currentTimeMillis(); 获取距离1970年1月1日 00:00:00的毫秒值(格林威治时间)         System.exit(0); 退出当前程序 禁止使用

                0表示正常退出,其他表示非正常退出 System.gc(); 手动调用java垃圾回收机制

BigDecimal

注意:创建对象时建议使用字符串传入值

        提供的方法: add:加 subtract:减 multiply:乘 divide:除

如: double d1 = 0.1; double d2 = 0.01; System.out.println(d1-d2); BigDecimal b01 = new BigDecimal(0.1+""); BigDecimal b02 = new BigDecimal(0.01+""); System.out.println(b01.add(b02)); System.out.println(b01.subtract(b02));

System.out.println(b01.multiply(b02));

BigDecimal divide = b01.divide(b02);

int intValue = divide.intValue();

System.out.println(intValue);

String

分类: 可变字符串:

        StringBuffer:

                特点: 1,线程安全 2,JDK1.0出现 3,效率稍微比StringBuilder慢

                特有方法: append();添加到尾部

                 insert(index,str):指定位置插入 ...

        StringBuilder         

                特点: 1,线程不安全 2,JDK1.5出现 3,效率稍微比StringBuffer快

                        特有方法: append();添加到尾部 insert(index,str):指定位置插入

不可变字符串

        String 提供的方法:

                增 +:字符串连接符

                改 字符串1.replace(要替换的字符串,替换后的字符串)

                        注意:返回值是替换后的字符串

                查 字符串1.length():查询字符串长度

                        字符串1.isEmpty():判断字符串是否为空

                        字符串1.contains(子字符串):判断字符串中是否包含子字符串

                        字符串1.indexOf(子字符串):获取子字符串在字符串中第一次出现的位置(开始 位置,下标从0开始),如果查询的子字符串不存在,返回-1                   

                         字符串1.equals(字符串2):判断两个字符串内容是否相同(不忽略大小写)

                        字符串1.equalsIgnoreCase(字符串2):忽略大小写判断字符串内容是否相同

                        字符串1.trim():忽略字符串前后的空白

                        字符串1.endsWith(字符串2):字符串1是否以字符串2作为结尾

                        字符串1,startsWith(字符串2):判断字符串1是否以字符串2作为开始

                        字符串1.toUpperCase():将字符串转化中小写字母全部转换为大写字母

                        字符串1.toLowerCase():将字符串转化中大写字母全部转换为小写字母

                        字符串1.toCharArray():将字符串转换为字符数组

                        字符串1.charAt(index):获取字符串中指定位置的字符

                        字符串1.getBytes():将字符串转换为字节数组

                        字符串1.split(字符串2):按照字符串2对字符串1进行切割

                                        注意:使用.切割是使用\\.

                        字符串1.substring(开始位置,结束位置):截取字符串,包含开始位置,不包含结 束位置

                        字符串1.substring(开始位置):截取字符串,从开始位置到字符串末尾 注意:大量(大于10000)字符串操作时请使用可变字符串

注意:大量(大于10000)字符串操作时请使用可变字符串

与时间有关的类

        Date 概念:日期,包含年月日时分秒

        步骤:

                1,获取Date对象 new Date();获取当前时间 new Date(long num);获取与1970年1月1日00:00:00的时间+参数时间的时间,num单位 为毫秒

        调用

                 date1.after(date2):判断date1的时间是否在date2之后 

                date1.before(date2):判断date1的时间是否在date2之前

                date.getTime():获取date对应的时间距离格林威治时间的毫秒值

Calendar

        概念:日历

        步骤: 1,获取Calendar对象 2,调用方法

SimpleDateFormat

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值