jdk知识
java.util.Arrays
- binarySearch([], key): 使用二分搜索法来在指定数组中搜索指定值,返回搜索值的索引
toString([]): 打印数组内容
deepToString([]): 深层打印数组内容,适用于多维数组
equals([], []): 数组比较
deepEquals([], []): 深层比较,适用于多维数组
fill([], val): 给数组的每个元素赋值
sort([]): 对数组升序排序
Unicode
Tiger前的Java版本支持Unicode 3.0,所有Unicode字符容于16位(一个char)
而Tiger改为支持Unicode4.0,它定义了不能容于16位的字符,这些字符不能容于一个char
这时我们用int类型的codePoint来表示该字符
codepoint是一个代表特定字符的数字,如0x3C0是π这个符号的codepoint
静态import
静态方法的import, Enum元素的import
java.util.Formatter.format("Remaining account balance: $%.2f", balance);
如果Target没有指定,则表示该annotation可以使用在任意程序单元上
@Target({ElementType.ANNOTATION_TYPE,
ElementType.CONSTRUCTOR,
ElementType.FIELD,
ElementType.LOCAL_VARIABLE,
ElementType.METHOD,
ElementType.PACKAGE,
ElementType.PARAMETER,
ElementType.TYPE})
public @interface TODO {}
Retention指出Java编译期如何对待annotation
annotation可以被编译期丢掉,或者保留在编译过的class文件中
在annotation被保留时,它也指定是否会在JVM加载class时读取该annotation
@Retention(RetentionPolicy.SOURCE) // Annotation会被编译期丢弃
public @interface TODO1 {}
@Retention(RetentionPolicy.CLASS) // Annotation保留在class文件中,但会被JVM忽略
public @interface TODO2 {}
@Retention(RetentionPolicy.RUNTIME) // Annotation保留在class文件中且会被JVM读取
public @interface TODO3 {}
类型通配符,类型限制
public void printList(List<? extends Number> list, PrintStream out) throws IOException {
for (Iterator<? extends Number> i = list.iterator(); i.hasNext(); ) {
out.println(i.next().toString());
}
enum是类型安全的
变长参数,vararg
public Guitar(String... features)
public static void main(String... args)
}
浙公网安备 33010602011771号