Java Object类、日期时间类、Systtem、StringBuilder、包装类

 

1. Object类

  • java.lang.Object是java语言中的根类
  • 每个类都使用Object作为父类
  • 任何一个对象都可以使用Object类中的方法

1.1 toString方法

public String toString()返回该对象的字符串表示

  • 默认地址值:字符串的内容就是对象的类型+@+内存地址值
  • 所以需要重写,自动重写

1.2 equals方法

pubic boolean equals(Object oject)其他某个对象是否与此对象相等

  • 默认地址比较若没有重写覆盖equals方法,那么默认进行“==”地址值的比较

  • 重写进行对象内容比较:所以需要重写覆盖equals方法,进行内容的比较

    注意:1. 空(null)不能调用equals()方法
    2. Object的equals方法容易抛出空指针异常

1.3 Objects类

  • Objects由一些静态的使用方法组成,他是null-save空指针安全的null-tolerant容忍空指针的
  • 他用于 计算对象的hashcode返回对象的字符串表示形式比较俩个对象

public static noolean equals(Object a,Object b):判断俩个对象是否相等
 

2 日期时间类

2.1Date类

java.Util.Date表示特定的瞬间,精确到毫秒

方法

  • public Date():获取当前系统的日期时间
  • public Date(long date)传递毫秒值,把毫秒值转换为Date日期
  • public long getTime()把日期对象转换成对应的时间毫秒值从1970年1月1日

2.2 DateFormat类 抽象类

java.text.DateFormat是日期/时间格式化子类的抽象类,可以进行日期和文本的转换,即Date和String之间的转换

  • 格式化:按照指定的格式,Data--->String
  • 解析:按照指定的格式,String--->Date

构造方法

DateFormat为抽象类。不能直接使用,所以需要子类java.text.SimpleDateFormat

  • public SimpleDateFormat(String pattern):用给定的模式和语言环境的日期格式符号构造SimpleDateFormat。

格式规则

# System类

常用方法

  • public String format(Date date)将Date对象格式化为字符串文本
  • public Date parse(String source)将字符串解析为Date对象
    • parse方法声明了一个异常叫parseException,如果字符串和构造方法的模式不一样,那么程序就会出现此异常
    • 调用一个抛出异常的方法,必须处理异常,要么throws,要么try catch
    • throws 在异常的方法下 alt+Enter,选择第一个,声明异常即可,若有错误,则继续抛出异常

       

2.3 Calendar类

java.Util.Calendar:日历类,在Date后面,替换掉了许多Date的方法。日历方便获取各个时间属性

  • Calendar中的变量都是静态变量,所以需要使用类名访问变量
Calendar.YEAR

获取方式

Calendar为抽象类,且需要通过静态方法创建,然后返回子类对象

  • public static Calendar getInstance():获得一个日历
public static void main(String[] args) {
        Calendar calendar=Calendar.getInstance();
        System.out.println(calendar);
}

常用方法

  • public int get(int field):返回给定日历字段的值
  • public void set(int field,int value):设置给定日历字段的值 可以同时设置年月日
  • public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量 正数为加 负数为减
  • public Date getTime():返回一个表示此Calendar的时间值的Date对象

 

Calendar calendar=Calendar.getInstance();
        System.out.println(calendar.get(Calendar.YEAR)+"年");
        //输出:2020年
        calendar.set(Calendar.YEAR, 2021);
        System.out.println(calendar.get(Calendar.YEAR)+"年");
        //输出:2021年
        calendar.add(Calendar.YEAR,-2);
        System.out.println(calendar.get(Calendar.YEAR) + "年");
        //输出:2019年
        Date date=calendar.getTime();
        System.out.println(date);
        //输出:Tue Oct 08 10:31:46 CST 2019

注意:

  1. 在Calendar类中,月份表示是以0-11代表1-12月

3 System类

java.lang.System提供大量静态方法,可以获取与系统相关的信息或系统级操作。

  • public static long currentTimeMillis():返回以毫秒为单位的当前时间
public static void main(String[] args) {
        //用System获取当前时间毫秒值
        System.out.println(System.currentTimeMillis());
        
        //用日期获取毫秒值
        Date date=new Date();
        System.out.println(date.getTime());
    }
  • public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组中
   
srcObject原数组
srcPosint原数组索引起起始位置
destObject目标数组
destPosint目标数组索引索引起始位置
lengthint复制元素个数
public static void main(String[] args) {
        int[] src=new int[]{1,2,3,4,5};
        int[] dest=new int[]{6,7,8,9,10};
        System.arraycopy(src,1,dest,3,2);
        for (int i = 0; i < dest.length; i++) {

            System.out.println(dest[i]);
        }

    }

4 StringBuilder类

  • 由于字符串String是常量,它的内容不可改变,所以在进行字符串拼接时,总会在内存中创建一个新的对象。
  • 所以StringBuilder就是解决这一问题的
String s="Hello";
s+="World";
sout(s);

 

概述

  • java.lang.StringBuilder:可变字符序列。是一个类似于STring的字符串缓冲区,通过方法调用可以改变该序列的长度和内容。
  • SrtringBuilder是字符缓冲区,是一个容器,可以装很多字符串,并且能对字符串进行操作。
  • 他内部有数组来存放字符串的内容,在拼接时,直接在数组中加入新内容,StringBuilder会自动扩充数组内容。

构造方法

  • public StringBuilder():构造一个空的StringBuilder
  • public StringBuilder(String str):构造一个StringBuilder,并将字符串添加进去
 public static void main(String[] args) {
        StringBuilder stringBuilder=new StringBuilder();
        stringBuilder.append(456);
        System.out.println(stringBuilder);
        //输出 :456
        StringBuilder stringBuilder1=new StringBuilder("abc");
        stringBuilder1.append(123);
        System.out.println(stringBuilder1);
        //输出:abc456
    }

常用方法

  • public StringBuilder append(...)添加任意类型的字符串 int char float等等 返回对象自身
  • public String toString():将当前StringBuilder对象转换为String对象

5 包装类

5.1 概述

基本类型像对象一样使用

基本类型对应包装类
byteByte
shortShort
intInteger
longLong
doubleDouble
charCharacter
booleanBoolean

装箱与拆箱

基本类型与对应的包装类型之间的关系

  • 装箱:基本类型---->包装类对象
Integer i=new Integer(4);//使用构造函数
Integer iii=Integer.valueOf(4);
  • 拆箱:包装类对象---->基本类型
int num=i.intValue();

自动装箱与拆箱

Integer i=4;//自动装箱
i=i+5;//等号右边,将i对象转换成基本数值(自动拆箱)
//加法运算完成后,再次装箱,把基本数值转换成对象

基本类型与字符串之间的转换

基本类型转换为String

  • 34+"";//最简单的

  • 包装类的静态方法toString()方法,不是Object类的toString的重载

    • static String toString(int i):返回一个给定整数的String对象
  • String类的静态方法

String转换成基本类型
除Character之外,所有的其他包装类都具有parseXxx方法将字符串转换成对应的基本类型

  • public static byte parseByte(String s)
  • public static short parseShort(String s)
  • public static int parseInt(String s)
  • public static long parseLong(String s)
  • public static float parseFloat(String s)
  • public static double parseDouble(String s)
  • public static boolean parseBoolean(String s)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值