Java常用类(Object类、Date类、StringBuiler类、包装类)

提前将许多的类都设计好,只要需要用的时候就可以直接拿来使用,若库中没有自己想要的也可以自己设计。这样感觉会加快很多自己设计程序的速度,而且感觉会更加简洁。

Object类(根类)

其中有两个主要学习的方法

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

public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”

toString方法的重写

toString方法默认返回对象的类型+@+内存地址值,一般我们需要打印对象的字符串形式,所以我们需要将其重写

@Override

    public String toString() {

        return "Person{" + "name='" + name + '\'' + ", age=" + age + '}';

}

equals方法

public boolean equals(Object obj)   比较两对象的地址值

可我们一般想要的是比较两对象的内容或属性,所以也需要重写

@Override

    public boolean equals(Object o) {

        // 如果对象地址一样,则认为相同

        if (this == o)

            return true;

        // 如果参数为空,或者类型信息不一样,则认为不同

        if (o == null || getClass() != o.getClass())

            return false;

        // 转换为当前类型

        Person person = (Person) o;

        // 要求基本类型相等,并且将引用类型交给java.util.Objects类的equals静态方法取用结果

        return age == person.age && Objects.equals(name, person.name);

    }

}

[这里会有一个多态性的弊端,无法使用子类特有的内容(属性与方法)]

解决办法:向下转型,将Object类转换成Person类 Person p=(person) obj;

Date类

表示特定的瞬间(毫秒)

作用:时间与日期的计算

  1. 日期->毫秒
  2. 毫秒->日期

构造方法:

(1)空参

Date()  获取当前系统的时间

Date date=new Date();

(2)带参

Date(long date)  毫秒->日期

成员方法:

long gettTime()   日期->毫秒  类似于 System.currentimeMillis()

Format类

DateFormat类

日期/时间格式化(抽象类)

日期=>文本(格式化)

文本=>日期(解析)

String format(Date date)  Date类=>字符串(格式化)

Date parse(String sourse) 字符串=>Date类 (解析)  

[抽象类无法直接使用则用其子类]

构造方法:

public SimpleDateFormat(String pattern)

String pattern:传递指定的模式(模式中字母不可变,连接模式的字符可变)

常用的格式规则为:

| 标识字母(区分大小写) | 含义   |

| ----------- | ---- |

| y           | 年    |

| M           | 月    |

| d           | 日    |

| H           | 时    |

| m           | 分    |

| s           | 秒    |

StringBuiler类

 可以说是一个字符串的缓冲区

(底层是一个数组,没有被final修饰,长度可以改变byte[],若超容则会自动扩容)

构造方法:

public StringBuilder():构造一个空的StringBuilder容器

public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去

常用方法:

public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。

[append方法返回的是this,谁调用它this就指向谁

同时append方法无需接受返回值,可以接收任意类型的参数]

public String toString():将当前StringBuilder对象转换为String对象。

StringBuilder和String可以相互转换

[StringBuilder已经覆盖重写了Object当中的toString方法]

包装类

| 基本类型    | 对应的包装类(位于java.lang包中) |

| ------- | --------------------- |

| byte    | Byte                  |

| short   | Short                 |

| int     | **Integer**           |

| long    | Long                  |

| float   | Float                 |

| double  | Double                |

| char    | **Character**         |

| boolean | Boolean               |

装箱  拆箱

装箱:从基本类型转换为对应的包装类对象

构造方法:

Integer(int value)  分配Integer对象指定的int值

Integer(String s)   基本类型的字符串

静态方法:

static Integer valueOf(int i)     返回一个表示指定的int值的Integer

static Integer valueOf(String s)  返回保持指定的String的值的Integer对象

拆箱:从包装类对象转换为对应的基本类型

int intValue() 以int类型返回该Integer的值

自动装箱与自动拆箱:从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成

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

基本类型->字符串

  1. 基本类型+” ”
  2. String类静态方法  static string toString(int i)
  3. 包装类            static String valueOf(int i)

字符串->基本类型

包装类中的静态方法  parseXXX(“字符串”)

另:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出`java.lang.NumberFormatException`异常

并发与并行

并发:指两个或多个事件在同一个时间段内发生。

并行:指两个或多个事件在同一时刻发生(同时发生)

线程与进程

进程:是操作系统分配资源的最小单位

线程:线程是进程中的一个最小执行单元,负责当前进程中程序的执行

另:一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线

创建线程类

1. 定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此把run()方法称为线程执行体。

2. 创建Thread子类的实例,即创建了线程对象

3. 调用线程对象的start()方法来启动该线程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值