...
Java核心类库2——lang
1、Object
该类是所有类的父类,每个类都使用它作为超类,没有任何属性
方法声明 |
功能介绍 |
Object() |
使用无参方式构造对象 |
boolean equals(Object obj) |
用于判断调用对象是否与参数对象相等。 该方法默认比较两个对象的地址是否相等 |
int hashCode() |
用于获取调用对象的哈希码值(内存地址的编号) |
String toString() |
用于获取调用对象的字符串形式 该方法默认返回的字符串为:包名.类名@哈希码值的十六进制 |
Class getClass() |
用于返回调用对象执行时的Class实例,反射机制使用 |
- equals:与 == 运算符的结果一致,若希望比较两个对象的内容,则需要重写该方法。 若该方法被重写后,则应该重写hashCode方法来保证结果的一致性
- hashCode:若两个对象调用equals方法相等,则各自调用该方法的结果必须相同,若两个调用对象equals方法不相等,则各自调用该方法的结果应该不相同,为了使得该方法与equals方法保持一致,需要重写该方法
- toString:为了返回更有意义的数据,需要重写该方法 使用print或println打印引用或字符串拼接引用都会自动调用该方法
2、包装类
基本类型并不具有对象的性质,为了与其他对象“接轨”就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
基本类型 |
包装类 |
boolean |
java.lang.Boolean |
char |
java.lang.Character |
byte |
java.lang.Byte |
short |
java.lang.Short |
int |
java.lang.Integer |
long |
java.lang.Long |
float |
java.lang.Float |
double |
java.lang.Double |
- 基本类型的优势:数据存储相对简单,运算效率比较高
- 包装类的优势:有的容易,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想
- 声明方式不同,基本类型不适用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;
- 存储方式及位置不同,基本类型是直接将变量值存储在堆栈中,而包装类型是将对象放在堆中,然后通过引用来使用;
- 初始值不同,基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null
- 使用方式不同,基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到
2.1、包装类的装箱拆箱
public class Test {
public static void main(String[] args) {
int a=10;
Integer integer=a;
int b=integer;
System.out.println(a);
System.out.println(integer);
System.out.println(b);
int a1=10;
Integer integer1=new Integer(a1);
int b1=integer1.intValue();
System.out.println(a);
System.out.println(integer);
System.out.println(b);
}
}
2.2、包装类与字符串的转换
public class Test {
public static void main(String[] args) {
String a="100";
System.out.println(Integer.parseInt(a));
String b="100.2";
System.out.println(Float.parseFloat(b));
String c="true";
System.out.println(Boolean.parseBoolean(c));
Integer d=100;
System.out.println(d.toString());
}
}
3、Math
3.1、属性
3.2、三角函数方法
方法声明 |
功能介绍 |
public static double sin(double radians) |
正弦函数 |
public static double cos(double radians) |
余弦函数 |
public static double tan(double radians) |
正切函数 |
public static double toRadians(double degree) |
度转换成弧度 |
public static double toDegree(double radians) |
弧度转换成度 |
public static double asin(double a) |
反正弦 |
public static double acos(double a) |
反余弦 |
3.2、指数函数方法
方法声明 |
功能介绍 |
public static double exp(double x) |
e^x |
public static double log(double x) |
ln(x) |
public static double log10(double x) |
log 10(x) |
public static double pow(double a,double b) |
a^b |
public static double sqrt(double x) |
√x |
3.3、取整方法
方法声明 |
功能介绍 |
public static double ceil(double x) |
花板的意思,就是逢余进一 |
public static double floor(double x) |
地板的意思,就是逢余舍一 |
3.4、min、max、abs方法
方法声明 |
功能介绍 |
public static int abs(int a) |
返回一个数的绝对值 |
public static int min(int a, int b) |
返回两个数的最小值 |
public static int max(int a, int b) |
返回两个数的最大值 |
public static double random() |
生成大于等于0.0且小于1.0的double型随机数 |
4、String
- String类被final关键字修饰,意味着String类不能被继承,并且它的成员方法都默认为final方法
- 字符串一旦创建就不能再修改
- String类实现了Serializable、CharSequence、 Comparable接口
- String实例的值是通过字符数组实现字符串存储的
4.1、构造方法
方法声明 |
功能介绍 |
public String() |
无参构造方法 |
public String(String original) |
用已知的字符串value创建一个String对象 |
public String(char value[]) |
用字符数组value创建一个String对象 |
public String(char value[], int offset, int count) |
用字符数组chars的offset开始的count个字符创建一个String对象 |
public String(byte bytes[]) |
用byte数组values创建一个String对象 |
4.2、字符串长度
方法声明 |
功能介绍 |
public int length() |
字符串的长度 |
4.3、字符串中指定位置的字符
方法声明 |
功能介绍 |
public char charAt(int index) |
字符串中指定位置的字符 |
4.4、提取子串
方法声明 |
功能介绍 |
public String substring(int beginIndex) |
从beginIndex位置起,从当前字符串中取出剩余的字符 |
public String substring(int beginIndex, int endIndex) |
从beginIndex位置起,从当前字符串中取出到endIndex-1位置的字符 |
4.5、字符串比较
方法声明 |
功能介绍 |
public int compareTo(String anotherString) |
对字符串内容按字典顺序进行大小比较 |
public int compareToIgnore(String anotherString) |
同上,忽略大小写 |
public boolean equals(Object anotherObject) |
比较当前字符串和参数字符串 |
public boolean equalsIgnoreCase(String anotherString) |
比较字符串,忽略大小写 |
4.6、字符串连接
方法声明 |
功能介绍 |
public String concat(String str) |
将字符串str连接到当前字符串的后面,效果等价于"+" |
4.7、字符串中单个字符查找
方法声明 |
功能介绍 |
public int indexOf(int ch/String str) |
查找当前字符串中字符或子串,返回第一次出现的位置 |
public int indexOf(int ch/String str, int fromIndex) |
从fromIndex开始查找当前字符串中字符或子串,返回第一次出现的位置 |
public int lastIndexOf(int ch/String str) |
倒着查找当前字符串中字符或子串,返回第一次出现的位置 |
public int lastIndexOf(int ch/String str, int fromIndex) |
倒着从fromIndex开始查找当前字符串中字符或子串,返回第一次出现的位置 |
4.8、字符串大小写转换
方法声明 |
功能介绍 |
public String toLowerCase() |
所有字符转换成小写 |
public String toUpperCase() |
所有字符转换成大写 |
4.9、字符串中字符的替换
方法声明 |
功能介绍 |
public String replace(char oldChar, char newChar) |
用字符newChar替换当前字符串中所有的oldChar字符 |
public String replaceFirst(String regex, String replacement) |
用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串 |
public String replaceAll(String regex, String replacement) |
用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串 |
4.10、其他类方法
方法声明 |
功能介绍 |
public String trim() |
截去字符串两端的空格,但对于中间的空格不处理 |
public boolean startsWith(String prefix) |
判断当前字符串是否以指定字符串开始 |
public boolean endWith(String suffix) |
判断当前字符串是否以指定字符串结束 |
public contains(String str) |
判断参数s是否被包含在字符串中 |
public String[] split(String str) |
将str作为分隔符进行字符串分解 |
4.11、基本类型转为字符串
方法声明 |
功能介绍 |
public static byte parseByte(String s) |
String转为byte |
public static short parseShort(String s) |
String转为short |
public static short parseInt(String s) |
String转为int |
public static long parseLong(String s) |
String转为long |
public static float parseFloat(String s) |
String转为float |
public static double parseDouble(String s) |
String转为double |
4.12、字符串转为基本类型
方法声明 |
功能介绍 |
public static String valueOf(char data[]) |
byte转String |
public static String valueOf(char data[], int offset, int count) |
char[]转String |
public static String valueOf(boolean b) |
boolean转String |
public static String valueOf(char c) |
char转String |
public static String valueOf(int i) |
int转String |
public static String valueOf(long l) |
long转String |
public static String valueOf(float f) |
float转String |
public static String valueOf(double d) |
double转String |
4.13、StringBuffer
4.13.1、构造函数
方法声明 |
功能介绍 |
public StringBuffer() |
构造一个字符串缓冲区,其中没有字符,初始容量为16个字符 |
public StringBuffer(CharSequence seq) |
构造一个包含与指定字符相同的字符串缓冲区 |
public StringBuffer(int capacity) |
构造一个字符串缓冲区,其中没有字符,但是包含指定的初始容量capacity |
public StringBuffer(String str) |
构造一个指定字符串内容的字符串缓冲区 |
4.13.2、方法
方法声明 |
功能介绍 |
public StringBuffer append(String str) |
将指定的字符串追加到此字符序列 |
public StringBuffer append(StringBuffer sb) |
将指定的内容附加StringBuffer到此序列 |
public int capacity() |
返回当前容量 |
public char charAt(int index) |
返回char指定索引处的此序列中的值 |
public StringBuffer delete(int start, int end) |
删除此序列的子字符串中的字符 |
public StringBuffer deleteCharAt(int index) |
删除指定位置字符 |
public int indexOf(String str) |
指定子字符串第一次出现的字符串中的索引 |
public StringBuffer insert(int offset, String str) |
将字符串插入此字符序列 |
public int length() |
返回该字符串的长度 |
public StringBuffer replace(int start, int end, String str) |
用指定的字符替换此序列的子字符串中的字符String |
public StringBuffer reverse() |
此字符序列的反向替换 |
public void setCharAt(int index, char ch) |
指定索引处的字符设置为ch |
public void setLength(int newLength) |
设置字符序列的长度 |
public String toString() |
此序列中数据的字符串 |
4.14、StringBuilder
- StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象
- 属于非线程安全的类,效率比较高
4.14.1、构造方法
方法声明 |
功能介绍 |
public StringBuilder() |
构造一个没有字符的字符串构建器,初始容量为16个字符 |
public StringBuilder(CharSequence seq) |
构造一个包含与指定的相同字符的字符串构建器 |
public StringBuilder(int capacity) |
造一个没有字符的字符串构建器,由构capacity参数指定的初始容量 |
public StringBuilder(String str) |
构造一个初始化为指定字符串内容的字符串构建器 |
4.14.2、方法
方法声明 |
功能介绍 |
public StringBuilder append(String str) |
将指定的字符串附加到此字符序列 |
public StringBuilder append(StringBuffer sb) |
将指定 StringBuffer追加到这个序列 |
public int capacity() |
当前容量 |
public char charAt(int index) |
获取指定索引位的字符 |
public StringBuilder delete(int start, int end) |
删除指定索引间的字符串 |
public StringBuilde deleteCharAt(int index) |
删除指定位置的字符 |
public int indexOf(String str) |
指定子字符串第一次出现的字符串内的索引 |
public StringBuilder insert(int offset, String str) |
将字符串插入到此字符序列中 |
public int length() |
返回长度 |
public StringBuilder replace(int start, int end, String str) |
用指定的String中的字符替换此序列的子字符串中的String |
public StringBuilder reverse() |
字符串顺序颠倒 |
public void setCharAt(int index, char ch) |
指定索引处的字符设置为ch |
public void setLength(int newLength) |
设置字符序列的长度 |
public String substring(int start) |
返回指定位置后的字符串 |
public String toString() |
此顺序中的数据的字符串 |
5、System
主要用于获取系统的属性数据
5.1、属性
属性 |
介绍 |
PrintStream |
err标准错误输出流 |
InputStream |
in标准输入流 |
PrintStream |
out标准输出流 |
5.2、方法
方法声明 |
功能介绍 |
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) |
将指定源数组从指定位置复制到目标数组的指定位置 |
public static long currentTimeMillis() |
返回当前时间(以毫秒为单位) |
static void exit(int status) |
终止当前运行的Java虚拟机 |
public static void gc() |
提醒运行垃圾回收器 |
public static String getenv(String name) |
获取指定环境变量的值 |
static Properties getProperties() |
获取当前的系统属性 |
static String getProperty(String key) |
获取指定键指示的系统属性 |
static String lineSeparator() |
系统相关的行分隔符字符串 |
static void setProperties(Properties props) |
将系统属性设置为Properties参数 |
static void setSecurityManager(SecurityManager s) |
设置系统安全性 |