014_常用类

Object

  • 他是所有类的超类(父类),而且他是默认被所有子类继承。
  1. getclass  返回实际对象的类型
  2. toString  返回的是该对象地址的文本格式(根据需要选择是否重写)
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

  3.hashCode()  返回地址的10进制;相同对象的哈希值一定相同,不同对象的哈希值可能相同

  4.equals(Object == obj)  this ==obj  判断的是地址。根据需求选择是否重写,目的是为了把相同的内容返回true

包装类

基本数据类型对应的引用数据类型

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

Integer

装箱:把基本数据类型转为引用数据类型

// 手动
// 方式一
Integer i = new Integer(1);
//方式二
Integer i = Integer.valueOf(1);
// 自动
Integer i = 1;// 底层是调用的valueOf

拆箱:与装箱相反

// 手动
int j = Integer.intvalue(i);
// 自动
int j = i;// 底层调用的是手动版

转整数

Integer.parseInt(str)

// 特别注意 如果字符串里有非数字格式 会报异常:NumberFormatException

// Integer 在做运算的时候会自动拆箱

String

字符串String  用final 修饰,不可被继承 不可变化

底层就是char[] value

String常用方法

1.equals 根据需求重写,内容相同即为true
2.charAt(index)    通过下标查找字符
3.contains    true/false 判断是否包含
4.toCharArray()    字符串转成 字符数组
5.length()    获取字符串长度
6.indexOf(str)    通过字符找到它首次出现的下标,如果没有这个字符就返回-1
7.lastindexOf(str)    最后一次出现的下标
8.subString(int begin)    从开头截取到最后
9.subString(int begin,int end)    [begin end)
10.trim()    去掉前面的空格
11.toUpperCase()    转大写    toLowerCase()    转小写
12.startWith(str)    以str开始    endWith(str)    以str结束
13.replace(old,new)    返回一个新的字符串
14.split(分隔符(字母,数字等))    切割成数组
15.new String(char[] c)    数组转字符串

StringBuffer与StringBuilder

StringBuffer与StringBuilder 都属于可变字符串

底层原理:有一个初始长度为16的字符数组。每次添加字符串的时候都是添加到该数组中,数组长度不够存储的时,会创建一个容量大的数组,通过Arraycopyof把旧数组复制到新数组中,实现扩容。

常用的方法:

  增加  append

  删除  delete

  插入  insert

  修改  setCharAt

  查询  charAt

StringBuffer 线程安全效率比StringBuilder慢一些;

StringBuilder 线程不安全,但是效率比较快

Bigdecimal

用于精确计算浮点数

BigDecimal b1 = new BigDecimal("1.0");

BigDecimal b2 = new BigDecimal("0.9");

//相减
System.out.println(b1.subtract(b2));
//     相加
System.out.println(b1.add(b2));
// 相乘
System.out.println(b1.milpitly(b2));
// 相除
System.out.println(b1.divide(b2,4,BigDecimal.ROUND_HALF_UP));  
// 相除时,如果除不尽会报算数异常错误,由此引入了四舍五入保留小数点的方式

Math

Math.util工具类下的方法

// 取绝对值
int a = Math.abs(-1);
// 取大值或小值
Math.max(1,2);//2
Math.min(1,2);//1
// 四舍五入
Math.round(3.6);//4
Math.round(3.4);//3
// 向上取整 返回值是double类型
Math.ceil(3.1);//4.0
// 向下取整
Math.floor(3.99);//3.0
// 随机数 是double 类型
Math.random();//[0 1)
// 0-50之间的整数
Math.random()*51;//[0 51)
(int)Math.floor(Math.random()*51);
// 平方根
Math.sqrt(100);//2
//求幂
double pow = Math.pow(2,3);// 8.0

  

猜你喜欢

转载自www.cnblogs.com/a276665092/p/12013840.html
014