Java SE ---- 常用类

Object类

        Java中,Object类是所有引用类型的父类,我们也可以称为超类。这意味着对于所有引用类型,都可以调用Object的定义的公开(public)或者受保护(protected)的方法,并且所有的上述方法都可以进行重写,大大增加了代码的灵活性。

//获取对象的hash值
int hashCode();

//对比该对象与o对象是否相等,默认比较两者地址是否相同
boolean equals(Object o);

//将对象转成字符串类型表示,默认为类名加hash转换的地址
void toString();

//获取对象的类型
Class getClass();

//拷贝一份对象
Object clone();

//对象被回收时调用的方法
void finalize();

...

String类

        用于表示字符串的类。是最常用的表示字符串的类。但由于是通过由final修饰的字符数组进行保存字符,所以对象保存的字符串将不可变。

构造方法:

        java中通过 " "英文的双引号表示字符串,并且允许将String通过赋值字符串直接创建对象

//通过字符串字面量直接赋值
String s1="111";

//常规创建对象
String s2=new String("111");

//通过字符数组c 组合为字符串创
String s3=new String(char[] c);

//将字节数组 b 按照 charset 表示的编码 进行创建字符串对象
String s4=new String(btye[] b,String charset);
...

常用方法:

​//获取字符串长度
int length()

//获取所在位置的字符,下标从0开始
char charAt(int index)

//比较字符串是否匹配有s字符串的片段
boolean contains(String s)

//将字符串转化为字节数组
char[] toCharArray()

//比较字符串是否与str相等
boolean equals(String str)

//比较字符串是否与str相等,并且忽略大小写
boolean equalsIgnoreCase(String str)

//将小写的字母转化为大写
String toUpperCase()

//将大写的字母转化为小写
String toLowerCase()

//显示首次出现s字符串的位置,下标从0开始
int indexOf(String s)

//比较字符串是否以s字符串结束
boolean endsWith(String s)

//比较字符串是否以s字符串开始
boolean startsWith(String s)

//获取子字符串
String substring(int startInder,int end)

//获取去除字符串两段无用字符后的字符串。
String trim()

//以s字符串为分隔符进行分隔,返回分隔的字符串数组
String[] split(String s)

​

StringBuffer类和StringBuilder类

        为解决String类的不可变性。Java提供了StringBuilder类以及StringBuilder类。这类字符串类可以进行字符串的可变保存。两者最大的不同就是StringBuffer类为所有方法进行加锁处理,用法与String类似。

构造方法:

//创建一个空的字符串的StringBuffer类对象
StringBuffer sb =new StringBuffer();

//创建一个s内表示字符串的对象
StringBuffer sb =new StringBuffer(String s);

常用方法:

//向字符串末尾添加参数的对象转为字符串的值。返回的调用的对象
StringBuffer append(参数)//当调用的是StringBuilder类对象时将返回StringBuilder

//将所表示的字符串返回
String toString()

Date类

        用于保存年月日的类型,本质是通过保存1970年1月1日0点到保存日期的毫秒数实现的。

构造方法:

//创建一个创建对象时的时间的Date对象
Date d1=new Date();

//创建一个l表示的时间的Date对象
Date d1=new Date(Long l);

//其他构造方法基本都已弃用,本篇将不提及

常用方法:

//获取1970年1月1日0点到Date表示的时间的毫秒数。
long getTime()
//设置时间,以1970年1月1日0点到要设置的时间的毫秒数为准
void setTime(Long l)

Calendar抽象类

        更规范的用于保存年月日的类型。

//静态方法,负责自动识别地区并返回对应的日历实现类
Calendar.getInstance()

//设置时间,月是从0开始表示的
void set(int year,int month,int date)

//增加对应参数年月日的时间
void add(表示要修改的年月日,增加的时间)

//获取Calendar类表示的时间的Date类
Date getTime()

 BigDecimal,BigInteger类

        由于基本数据类型是直接通过位进行保存,所以对于超过容量的数字,或者精确的小数运算将会出现溢出,失真等问题。当我们需要进行精确的小数运算,或者极大值的数字运算时。我们可以通过BigDecimal类或BigInteger类实现。

构造方法:

//表示字符s所表示的数字,当s表示的并非数字将会抛出异常
BigInteger bi1=new BigInteger(String s);//BigInter当s表示的不是整数时将会抛出异常

常用方法:

//与b相加,获取和
BigInteger add(BigIneger b)

//与b相减,获取差
BigInteger subtract(BigIneger b)

//与b相乘获取积
BigInteger multiply(BigIneger b)

//与b相除,获取商
BigInteger divide(BigIneger b)

//与b相除,获取商与余数,数组第一个元素为商,第二个元素为余数
BigInteger[] divideAndRemainder(BigIneger b)

包装类

        由于基本数据类型保存方式与对象不同,所以在java中为我们提供了这些基本数据类型的包装类。常见的包装类有:

boolean —> Boolean
char —> Character
byte—> Byte
short—> Short
long—>Long
int —> Integer
float—> Float
double—> Double

        自动拆或装箱

        在一般情况下我们可以将包装类当成基本类型使用。

        自动拆箱:当方法需要我们传入一个基本数据类型的值进去时,我们可以将对应类型的包装类进行传入,java会自动将包装类进行转换为对应的基本类型。为基本数据类型赋值时也可以直接将包装类进行赋值。

String s= "11";
Integer i1=new Integer("1");
s.charAt(i1);

int i2=i1;

        自动装箱:与自动拆箱相同,我们可以将基本数据类型直接赋值给包装类对象。

Integer i1=1;

 注意:     

        本质上包装类不是基本数据类型!!

        包装类的取值可以取到 null 基本数据类型不行。

        包装类数组与对应的基本数据类型数组java并不能进行自动拆或装箱操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值