java.lang
中包括了基本的功能,无需 import
。
1 Object
类
方法
getClass()
返回一个class
对象,该对象的getName()
方法返回一个表示类名的String
。String name = key.getClass().getName();
instanceof
运算符,判断对象是否属于某类:boolean check1 = "Texas" instanceof String; //true
Object obiwan = new Object();
boolean check2 = obiwan instanceof String; //false
boolean equals(Object a)
当变量引用同一个对象时返回true
。int hashCode();
String toString();
2 Class
类
与数组类相关的两个方法:
cl.isArray()
用来测试一个Class
实例是不是数组,cl.getComponentType()
用来获得数组的成员的类型。
Method getMethod( String name )
Method getMethod( String name, Class... parameterTypes )
除了方法的名称外,还需要提供方法的参数类型,以辨别重载的方法。Constructor getConstructor( Class... parameterTypes )
返回指定的构造函数。
3 Math
类
类变量,类方法:
Math.PI
Math.max(int,int)
Math.random()
返回一个0
到1
之间的随机浮点数。
1.4 Integer
类
类方法:
int parseInt(String str)
把字符串转为int
型。Integer valueOf(int num)
把一个基本类型转换为Integer
对象。int hashCode(int value)
返回给定值的散列码,其它基本类型的包装器也有类似方法。
实例方法:
intValue()
返回该对象的int
型值。
1.5 System
类
System
类位于java.lang
包中。System.out
是Sytem
类的类变量,out
实际上是PrintStream
类的一个实例,而PrintStream
类的对象有一个println()
方法。PrintStream
类位于java.io
包中。
类方法:
Console console()
如果可以进行交互,就返回一个Console
对象。long currentTimeMillis()
,返回一个long
,表示从1970-01-01 00:00
开始,到现在经过的微秒数。void arraycopy( Object src, int srcPos, Object dest, int destPos, int length)
从src
数组的srcPos
位置开始,拷贝lengh
个元素到dest
数组的destPos
位置。
6 Console
类
Console
类在java.io
包中。
实例方法:
readLine("", args...)
显示一个提示符 (和printf
一样可以格式化输出) ,并从控制台读取一行输入,返回一个String
。readPassword("", args...)
与readLine
用法类似,但是返回一个char[]
数组。
7 Throwable
类
0.1 Comparable<T>
函数式接口
0.2 Comparator<T>
函数式接口
这个接口用来自定义比较大小规则。必须先定义一个实现了
Comparator
接口的类,再声明一个实例才能进行比较。
public interface Comparator<T>
{
int compare( T first, T secend );
}
//定义一个实现 Comparator<String> 的类
class LengthComparator implements Comparator<String>
{
public int compare( String first, String second )
{
return first.length() - second.length();
}
}
//建立一个实例,把这个实例传给 sort 作为第二个参数
var cmp = new LengthComparator();
Arrays.sort( aArray, cmp );
0.3 Cloneable
接口
Cloneable
是Java提供的少数 标记接口 之一,又称为 记号接口。标记接口不包含任何方法,接口定义是空的;它唯一的作用就是可以使用instanceof
判断一个对象是否implements
了这个接口:if ( obj instanceof Cloneable ) . . .
只有实现了Cloneable
接口,才能调用的Clone
方法。否则会抛 CloneNotSupportedException
异常Clone
方法是在 Object
类中定义的,并且被声明为 protected native
。
按照惯例,实现Cloneable
接口的类要覆盖 Object.clone
方法,并将它声明为 public
,这样才能在另一个类中调用一个类的 clone
方法。(protected
修饰符不允许一个类调用另一个类的 clone
方法)Object.clone
实行的是浅拷贝