Java 1.5 加入了許多新的功能,讓 Java 產生了許多根本上的變化。最新下載和清息請詳見昇陽的 Java 1.5 網頁: http://java.sun.com/j2se/1.5.0/。
如果你使用 Java 1.5 的語法撰寫 Java 程式,那麼在編譯時就必須要指定參數:
$ javac -source 1.5 Test15.java
如果不指定 source 的話,會出現語法錯誤的訊息。不過只要我們編譯成功之後,執行時就不用再加上 source 參數了:
$ java Test15
另外,如果你把 Java 1.5 的 javac 所編譯出來的 .class 交由 Java 1.4 之前的 java 去執行的話,會出現下列錯誤訊息:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Test15 (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:250) at java.net.URLClassLoader.access$100(URLClassLoader.java:54) at java.net.URLClassLoader$1.run(URLClassLoader.java:193) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at java.lang.ClassLoader.loadClass(ClassLoader.java:299) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:272) at java.lang.ClassLoader.loadClass(ClassLoader.java:255) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
由此可知,用 Java 1.5 SDK 編譯出來的檔案目前無法向下相容。
其他更多的消息請參考 {link:Java 官方網站|http://java.sun.com/}
底下是新特性的介紹:
於是…
SnipSnap 0.5 和 Java 1.5 擺在一起時,中文標題 ok 了,但有些 list 類的語法反而爆炸了:p