java.lang包下常用类及其常用方法:
1. Double
Double 类在对象中包装一个基本类型 double 的值。
Double 类提供了很多方便的公共静态方法:
(1)public static int compare(double d1, double d2),比较double类型的d1、d2大小,d1>d2->1,d1小于d2->-1,d1=d2->0
(2)public static Double valueOf(String s)与public static double parseDouble(String s),作用:都是将String类型的字符串转换为浮点数,底层的解析方法是一样的,只不过返回值有一点差异而已,前者返回Double类型,后者double基本数据类型
(3)public static String toString(double d),作用:将double数据类型转换为String类型
2. Integer
Integer 类在对象中包装了一个基本类型 int 的值。
Integer 类与Double 类差不多,不多解释
3. Math
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
Math类公共静态方法:
(1)public static double random(),作用:生成[0,1.0)区间的随机double 类型的数字
(2)public static int abs(int a),作用:返回一个数的绝对值
(3)public static long round(double a),作用:四舍五入,示例:
(4)public static double ceil(double a),作用:向上取整
示例:
(5)public static double floor(double a),作用:与(4)相反,向下取整
示例:
(6)public static int max(int a, int b)与public static int min(int a, int b)分别为取两数之间较大和较小值
(7)public static double pow(double a, double b),作用:次方,返回a的b次方数,示例:
4. Object
类 Object 是类层次结构的根类。
以下是所有对象都具有的方法:
(1)equals()方法,作用:比较两个对象(其实是比较两个对象的引用)
(2)hashCode()方法,作用:返回此对象的hashCode值:
可以看到,此方法是native本地方法,native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问。简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
这里暂不做深入讨论
(3)toString()方法,作用:返回此对象的一种表示形式:
可以看到,返回的是对象的全类名+@+hashCode码
对于一般对象来说,toString()方法是这样的:
而对于包装类来说,重写了toString()方法,将数值转换为String类型,字符串类型直接返回本身字符串
(4)至于其他几个方法,涉及到多线程相关知识,后面再讨论
5. String
String 类代表字符串。
(1)String类提供了将基本数据类型转换为字符串类型的静态方法valueOf():
(2)平常开发中对于字符串的操作应该是很频繁的了,字符串对象有很多方法可以直接使用:
(3)public boolean matches(String regex),作用:判断此字符串是否匹配正则表达式regex,匹配返回true,否则false
可以看到,此方法最终是调用的java.util.regex.Pattern类下matches()方法,示例:
(4)public String trim(),作用:去除字符串首尾两端的空格,示例:
isEmpty()是判断字符串是否为空的方法,建议写入StringUtil工具类,方便后面直接使用
(5)public boolean equals(Object anObject),作用:比较字符串内容
a、我们知道根类Object类也有equals方法:
它是直接比较两个对象的引用是否相等,也就是比较的内存地址,如果是两个不同对象,很显然返回false,而String类也有equals方法,但是重写了此方法,先比较对象的引用,相等直接返回true,不相等继续判断,如果此对象是String类的实例,而且其内容(也就是字符串值)相等,则也返回true,否则返回false,所以,对于字符串来说,equals方法其实就是比较的两个字符串内容是否相等
b、我们先看一下String类的equals方法:
c、再测试一下:
可以看到,由于new了两个不同的String对象,直接==比较内存地址肯定是不等的,false,而使用String类equals方法则是还比较了其内容,相等,所以true
(6)split()方法,作用:将字符串根据参数分割为字符串数组,示例:
(7)toCharArray方法,作用:将字符串转换为字节数组,示例:
(8)replace()和replaceAll()方法,作用:都是字符串替换
(9)equals()和equalsIgnoreCase(),作用:判断字符串内容相等,后者忽略大小写,示例:
(10)剩下比较简单的字符串操作方法我们通过实例演示:
6. StringBuffer
线程安全的可变字符序列。
示例:
7. StringBuilder
一个可变的字符序列。
同上6,关于String、StringBuffer与StringBuilder之间区别,推荐看一篇博文:链接
8. Thread
线程 是程序中的执行线程。
关于Java多线程,可以看一下我之前的随笔链接
到此java.lang包下常用类及常用方法就先介绍这么多了,写的比较浅显,请大家指教