Java小白学习笔记(八)——工具类

Object类
Object类是所有类的超类,是唯一一个没有父类的类
一个类可以不是Object的直接子类,但一定是Object的子类
意义:在Object类中定义的方法,在所有子类中都可以使用

equals()方法
格式:public boolean equals(Object obj)
功能:比较两个对象的引用是否相等

equals()和==区别
默认情况下equals只能比较对象的引用是否相等
equals方法只能比较引用类型,不能比较基本数据类型
==可以比较引用类型,也可以比较基本数据类型
(比较引用类型的时候,比较的是对象的引用是否相等)

hashCode()方法
格式:public int hashCode()
功能:返回对象的哈希码,一个对象的哈希码是代表对象的一个十六进制的整数,比作对象的身份证号; 默认的哈希码是一个对象的内存地址做某种转换得到的,所以不同的对象有不同的哈希码。

java中规定:如果调用equals()方法返回两个对象是相等的,那么这两个对象调用hashCode()方法返回的整数一定相等

toString()方法
格式:public String toString()
功能:返回一个字符串;
通常会重写该方法,来表示字符串的表示形式

包装类
在java中基本数据类型变量不被认为是对象,通过包装类,将基本数据类型看作对象
目的:把基本数据类型转换为对象,就可以同其他对象统一管理使用了
每一种基本数据类型都有对应的包装类;
int =》Integer
byte =》Byte
short =》 Short
long =》Long
float =》Float
double =》 Double
char =》Character
boolean =》Boolean

自动装箱和拆箱
自动装箱:把基本数据类型转换成包装类
如:Integer i =10;
自动拆箱:把包装类的值取出来
如Integer i= 10;
int n =i;

把基本数据类型转换为字符串
int n = 100;
String i = Integer.toString(n);

把字符串转换成基本数据类型
int n = Integer.parseInt(“66666”)

字符串String
定义:一组不可改变的unicode字符序列。对它的任何修改实际上产生一个新的字符串,String对象的内容一旦初始化,就不能再改变

字符串的创建:

静态方式:使用字面量赋值,如:
String s = “tom”;
两个采用静态方式创建的字符串,如果字面量相同,在方法区的常量池中,只产生一个字符串对象,即这两个字符串变量的引用相同

动态方法:使用内存分配符(new)
String s = new String(“abc”);
每次在堆内存中创建一个新的字符串对象

字符串的构造方法
1)String s = new String();
2)String s = new String(“字符串”);
3)String s = new String(byte[] bytes);
使用平台(操作系统)默认的字符集解码字节数组,创建一个新的字符串(中文操作系统,默认编码为:gbk)
4)String s = new String(byte[] bytes,String charset);
使用指定的字符集解码字节数组,创建一个字符串
5) String s = new String(byte[] bytes,int offset,int length,String charset)
把字节数组中从offset开始的长度为length个字节,使用指定字符集编码

getBytes():根据默认的字符集得到字节数组(编码)
getBytes(String charset):根据指定的字符集得到字节数组

字符串常用方法:
1)boolean equals(Object obj):比较字符串内容是否相等
2)boolean equalsIgnoreCase(String)字符串忽略大小写的比较
3)String toUpperCase(String):把字符串中小写字母转换为大写
4)String toLowerCase(String):把字符串大写字母转换为小写
5)char charAt(int index):返回字符串中指定索引处的字符
6)String substring(int beginIndex):从指定索引号开始截取字符串,到字符串结束为止
7)String substring(int beginIndex,int endIndex):从指定索引号开始截取字符串,到结束索引处为止(不包括结束索引对应的字符)
8)int indexOf|lastIndexOf(String|char):在字符串中查找一个指定的字符串或字符第一次或最后一次出现的位置,没有找到,返回-1
9)int indexOf|lastIndexOf(String|char,int index):
在字符串中从index位置开始查找一个指定的字符串或字符第一次或最后一次出现的位置,没有找到,返回-1
10)String trim(String):返回参数字符串去掉前后空格后的字符串
11)int length():返回字符串的字符数
12)String concat(String):把参数指定的字符串拼接到原字符串后
13)String[] split(String):使用参数指定的分隔符分割数组
14)String replace(char|String,char|String):使用新的字符或字符串替换原字符串中的字符或字符串,返回新的字符串
15)boolean startsWith(String):判断字符串是否以参数字符串开头
16)boolean endsWith(String):判断字符串是否以参数字符串结尾
17)int compareTo(String):比较两个字符串的大小,相等返回0,当前字符串大,返回大于0的数,否则返回小于0的数(按照编码表比较)

StringBuffer

定义:可以改变的字符序列,可以动态改变,不产生额外的对象

构造方法:
StringBuffer():创建了一个其中不带有字符串的字符串缓冲区,初始容量为16个字符
StringBuffer(int capacity):创建了一个具有指定容量的字符串缓冲区
StringBuffer(String value):创建一个指定初始字符串的字符串缓冲区
常用方法:
int capacity():得到容量(缓冲区大小)
int length():返回当前字符串
append(String value):在原来字符串的后面追加字符串
toString(得到StringBuffer中的字符串序列)
reverse():逆序
setCharAt(int index,char c)修改指定索引处的字符
delete(int begin,int end):删除指定区间的字符串
insert(int index,String s):在指定的索引处插入一个字符串

StringBuilder
StringBuilder设计用来作为StringBuffer的简单替代,用在字符串缓冲区被单线程方法使用的情况
其他使用方法与StringBuffer完全相同
如果StringBuilder对象在方法中定义,也就是局部变量,使用StringBuilder
如果是成员变量,使用StringBuffer

Math
Math类提供了大量用于数学运算的方法
Math类是final类,不能被继承
Math类中的方法都是静态的,不用创建实例就可以使用
Math.PI:圆周率
Math.E:自然对数的底数

常用方法:
1)abs():绝对值
2)ceil(double):天花板,返回大于所给参数的最小整数,返回值为double类型
3)floordouble(double):地板,返回小于所给参数的最大整数,返回值为double类型
4)random():返回0.0到1.0之间的随机数(大于等于0,小于1)
5)round(double):返回四舍五入后的整数,返回值为long类型
6)sqrt(double):开方

Data类
表示特定的瞬间,精确到毫秒
getTime():得到内部保存的时间毫秒数
new Date():得到当前时间
toString():返回日期的字符串表示形式
before(Date):判断当前日期是否在参数给定的日期前,在之前,返回true,否则,返回false
after(Date):判断当前日期是否在参数给定的日期后,在之后,返回true,否则,返回false

Calendar类
是一个抽象类,常用的日期时间处理对象
获取Calendar类的实例:
Calendar.getInstance():得到当前时间

设置时间:
set(int year,int month,int day,int hour,int minutes,int seconds)
month:从0开始,0表示1月份

把Date转换为Calendar
setTime(Date)

获取指定时间
get(int field):field 可以使用Calendar类中定义的常量来设置

把Calendar转换为Date
Date d = c.getTime();c为Calendar类的实例

为给定的日历字段添加或减去指定的时间量:
add(int field,int num)

SimpleDateFormat
(在字符串和Date之间相互转换)
构造方法:
SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”)

Date parse(String):把字符串转换为日期对象
String format(Date):把日期格式化为字符串

模式字母:
yyyy:年
MM:月
dd:日
HH:0-23(小时)
hh:0-11(小时)
mm:分钟
ss:秒

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值