Java常用类:
详细建议查看JDK帮助文档。
Object类:
- 包地址:java.lang.Object;
- Object是类层次结构的根。 每个类都有Object作为超类。 所有对象(包括数组)都实现此类的方法。
hashCode():
返回对象的哈希码值。
实例:
toString():
toString方法返回一个“文本表示”此对象的字符串。
结果应该是简洁但信息丰富的表示,便于人们阅读。 建议所有子类都重写此方法。
实例:
在子类 Alt + insert选中toString()重写此方法。
clone():
创建并返回一个对象的拷贝。
clone 方法是浅拷贝,对象内属性引用的对象只会拷贝引用地址,而不会将引用的对象重新分配内存
getClass():
返回此Object的运行时类。 返回的类对象是由所表示的类的static synchronized方法锁定的对象。
实例:
String 继承了 Object,所以可以直接使用 getClass() 方法:
自定义类调用 getClass() 方法:
equals():
指示某个其他对象是否“等于”此对象。
对于对象来说,特殊的类如"String、File、Date"使用"=="比较的时对象(对象的地址),而eqtuals比较的是内容
实例:
除了特殊的类之外的其他普通的类的对象 == 跟 equals比较的都是对象(对象的内存地址).
如果想要改变某一个类的equals,不想用equals比较对象的内存地址就需要重写equals方法。
重写equals类:
包装类:
包装类就是针对八种基本类型的封装。
包装类和基本类型关系图:
包装类可以将基本数据类型包装成一个类(装箱):
实例:
获得包装类对象中包装的基本类型变量(拆箱):
实例:
JDK1.5之后支持了自动(装箱)以及(拆箱),但类型必须匹配。
实例:
Math类:
类Math包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。
常用的方法:
返回值: 方法名: 解释:
long round() 返回四舍五入后的整数
double floor() 返回小于参数的最大整数
double ceil() 返回大于参数的最小整数
double random() 返回(0,1)之间随机浮点数
max() 返回两个数值中较大的数
min() 返回两个数值中较小的数
实例:
Random类:
该类的实例用于生成伪随机数流。
它有两个构造器,一个构造器使用默认的种子,另一个构造器需要传入一个long类型的整数
构造方法:
常用方法:
实例:
在并发访问的环境下,使用ThreadLocalRandom来代替Random可以减少多线程资源竞争,最终保证系统具有更好的线程安全性。
ThreadLocalRandom的用法与Random基本相似,获取该对象之后即可调用各种nextXxx()方法来获取伪随机数.
实例:
File类:
文件和目录路径名的抽象表示。该类主要用于文件和目录的创建、文件的查找和文件的删除等。
常用方法:
createNewFile() //创建一个新文件
mkdir() //创建一个新目录
delete() //删除文件或目录
exists() //判断File对象所对象所代表的随心是否存在
getAbsolutePath() //获得文件的绝对路径
getName() //取得名字
getParent() //获得文件、目录所在的目录
isDirectory() //是否是目录
isFile() //是否是文件
listFIle() //列出目录下的所有内容
renameTo() //修改文件名
实例:
文件操作: 创建文件
获取文件信息:
文件判断 & 删除:
文件夹操作: 创建目录:
遍历目录:
递归遍历目录 实例:
递归删除目录(delete方法只能删除空目录所以需要将目录下的文件全部删除) 实例:
FileFilter接口:
对获取的文件进行过滤,将满足条件的文件传入到listFiles()返回值当中。 实例:
for (File x:filesISO) {System.out.println(x);} //遍历结果
String类:
不可变性、被final修饰、所有属性也都是final的,拼接、裁剪字符串等动作都会产生新的String对象.
操作量较少的时候使用.
StringBuffer类:
StringBuffer类是线程安全的可变字符串类,为解决String类拼接产生太多中间对象问题而提供的类。
它的实体容量会随着存放的字符串增加而自动增加。多线程数据量较大的时候使用、效率低 安全。
实例:
StringBuilder类:
StringBuilder和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)
StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用 StringBuilder 类。
实例: