1. 对于增强的for语句的支持
支持类似foreach的语法
/**
@version 1.20 2004-02-28
@author Cay Horstmann
*/
public class Welcome
{
public static void main(String[] args)
{
String[] greeting = new String[3];
greeting[0] = "Welcome to Core Java";
greeting[1] = "by Cay Horstmann";
greeting[2] = "and Gary Cornell";
for (String g : greeting)
System.out.println(g);
}
}
2.对泛型的支持
ArrayList<Type> arrayList = new ArrayList<Type>();
原来arrayList.get(i)的前面要加(Type)arryList.get(i)进行类型转换,现在可以直接写arrayList.get(i)了。
具体泛型怎么用,还用继续研究。呵呵。
3.自动打包
原来要写
int n = 5;
Integer wrapper = new Integer(n);
先可以写
int n = 5;
Integer wrapper = n;
当然也可以写
Integer wrapper = ***;
n = wrapper
5. 覆盖方法时候可以改变返回类型
6. 静态导入
import一个有静态方法的类,如java.lang.Math;
里面一个静态变量PI,一个静态方法sqrt();
原来使用要Math.sqrt(Math.PI);
现在可以直接写sqrt(PI);
导入方法,如要导入Math.sqrt,使用
import static java.lang.Math.*;
另外一个例子
import static java.lang.System.out;
太方便了,太方便了...
7. 输入控制台
这个更方便
实现了类似c中sanf和c++中cin的功能。
在java.lang.Scanner类,可以实现从控制台直接读取数据。如:
import java.util.Scanner;
public class ConsoleInputTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.print("please input a integer:");
int n = in.nextInt();
System.out.print("please input a String:");
String str = in.next();
System.out.println("int: " + n);
System.out.println("String: " + str);
}
}
8.格式化输出
类似printf中的输出格式控制printf("%-5.3f", x);
可以使用
System.out.printlf("%8.2f", x);
9.关于界面编写的,不懂
10. Unicode编码
支持Unicode4.0,有“增补”字符,都采用两个连续的char编码,对中文支持好。
11. 构建字符串的新方法StringBuilder
StringBuilder s = new StringBuilder();
比StringBuffer灵活,但是不适线程安全的。所以,都线程时要注意。
参考资料: Core Java 2, Volume 1 seventh Edition 中文版 附录B