工具类
1、 Object
包名加类名= 完全限定名
1、(所有的类默认继承自Object类,子类会默认调用父类的方法)
(子类的构造方法默认访问的是父类的无参构造方法)
2、上帝类(一个类如果没有父类,默认继承Object类)
常用方法:
1、 hashCode(): 获取对象hash值(唯一的)
2、 toString(): 将对象变为字符串返回
3、 equals(): 判断来个内存地址是否相同
4、 getClass(): 获取类名(反射用的)
被fainal修饰的类不能被继承,
被fainal修饰的方法不能被重写
被final修饰的变量不能被修改
String常用方法:
. isEmpty() : 判断是否是空字符串
.length() : 获取数组长度,char类型的数组
. replace (“旧”,”新”): 将旧的字符串替换成新的字符串
. equalsIngnoreCase() : 忽略大小写对比相等
. charAt() : 获取下标对应位置的字符
. substring(3) : 从指定位置截取字符串至末尾
. substring(3, 5) : 从指定位置截取到指定位置(包括第一个数)
. inderOf (“a”) : 从前面获取指定字符的下标(若没有指定的字符,返回-1)
. lastInderOf (“a”): 从后面获取指定字符的下标(若没有指定的字符,返回-1)
. split( “ , ” ) : 根据字符串中特定的符号,将字符串分别截取成 数组
3、StringBuffer 类(适用于多线程) 和StringBuilder(适用于单线程)
(String对象的字符串拼接其实被JVM转换成StringBuffer对象的拼接,所以String对象的速度并不会比StringBuffer对象慢 1.8之后)
(String每次修改字符串的时候都会重新创建一个对象,会造成内存空间浪费,使用StringBuffer来解决)
(用来解决String更改字符串造成的时间浪费和空间浪费)
(String类是被final修饰过的引用数据类型,他的值一旦被创建便不能修改)
(String用 “” 创建对象会放在常量池中;用new创建对象会放在内存堆中)
StringBuffer的常用方法:
. append(“ ”) : 末尾追加字符串(没有产生新的对象)动态的在数组后扩容
. insert( 3,“a”) : 指定位置插入指定字符
.deleteCharAt(3): 删除指定下标的字符
. delete(3,5): 删除指定区间的字符(包前不包后)
. replace(3,5,”a”): 替换指定区间之间的字符
. reverse() : 反转字符串
. substring(): 截取指定区间字符串(包头不包尾)
. aqlit() : 拆分字符串
String和StringBuffer和StringBuilder区别:
1、String是一个被final修饰的引用数据类型,他的值一旦创建就不能更改
2、内存操作不同
( String被final修饰的类,每次进行更改都会产生新的对象,浪费内存空间;
StringBuffer是在原有的对象上进行更改,StringBuffer是解决String更改字符串是造成的空间和时间浪费)
3、StringBuilder单线程不安全,但速度有优势
StringBuffer多线程安全,所以对象操作会比较慢,进行并发处理时,会有阻塞现象
4、包装类:
1、概念:(基本数据类型不具备面向对象的概念,所以引用包装类将基本类型转化为对象处理)
2、引用数据类型可以与对应的基本数据类型可以相互转换(JDK1.6之后)
JVM自动类型转换
注意:将基本数据类型包装成对应的包装类叫装箱
将包装类中对应的基本数据类型取出叫拆箱
(必须是基本数类型对应的包装类)
集合中不能存放基本数据类型,只能存放对应的包装类
5、java.util 包:(工具包)
Unil类是java提供的一套工具类,包含获取时间、时间的格式转换、数字的运算、生成随机数的等
1、Math类:执行基本数学运算的方法,如初等指数、对数、平方根等
Math . random 产生0-1之间的随机数(不包括1)
(int)(Math . random()* 10 ) :0-10之间的随机数并转为int类型
Math . random() *(最大值-最小值)+ 最小值 (获取指定的区间之间的随机数)
Math.Random (是一个静态方法,可直接调用。也可创建对象使用)
2、Date类 :获取时间 Calendar抽象类: 修改时间
1970.1.1 8:00 格林威治时间(所有硬件上的时间都是以这个为参照物)
. getTime() 和 . currentTimeMillis() :获取当前系统的毫米数
SimpleDateFormat s = mpleDateFormat (“yyyy-MM-dd HH:mm:ss”):时间格式化类
. format(date) :格式化时间