1. String 新增了 isEmpty() 方法
对于 String 不需要用 str.length() !=0 来判断
2. Arrays 新增 copyOf() 从已知数组中拷贝直接返回一个新的数组
不再需要,先准备一个数组,然后用 System.arrayCopy() 来从旧数组往新数组中拷贝数据
3. Arrays 还新增了 copyOfRange() ,binarySearch(arr, fromIndex, toIndex, des) 方法,可在一个范围内查找。
4. 可以用 Calendar 实例的 getDisplayNames() 和 getDisplayName() 获得区域化的日期格式显示
5. System上新增 console() 获得 Console 实例,可用其的 printf()、readLine()、readPassword()、reader()、writer() 等方法,如
Console console = System.console();
String name = console.printf("输入名称:").readLine();
char[] passwd = console.printf("输入密码:").readPassword(); //输入不回显,像 Linux 中输入用户密码那样
String password = new String(passwd);
//或者直接用 readLine() 和 readPassword() 来输出提示信息
String name = console.readLine("输入名称:");
String password = new String(console.readPassword("输入密码:"));
以上 console 可能为 null,依赖于底层平台和JVM如何被调用。如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就我们可以得到一个可用的Console实例。
当你有Eclipse或NetBean中运行以上代码时,console 就是 null,因此以上那几行代码在 Eclipse 和 NetBean 中执行会报 console 为空指针的错误,因为输入输出被重定向了。
6. File 新增几个方法,getTotalSpace(),getUsableSpace(),getFreeSpace()
7. Swing 指定启动图片显示
java-splash:caterpillar.jpg -jar JNotePad.jar
在 MANIFEST.MF 中的写法
Manifest-Version: 1.0
Main-Class: onlyfun.caterpillar.JNotePad
SplashScreen-Image: caterpillar.jpg
8. 系统托盘图标的支持,且放置弹出菜单
SystemTray tray = SystemTray.getSystemTray();
PopupMenu popup = new PopupMenu();
popup.add(new MenuItem("开启JNotePad 1.0"));
Image image = Toolkit.getDefaultToolkit().getImage("musical_note_smile.gif");
TrayIcon trayIcon = new TrayIcon(image, "JNotePad 1.0", popup);
tray.add(trayIcon);
9. 可在系统栏弹出泡泡提示信息
trayIcon.displayMessage("哈囉","该休息了吗?",TrayIcon.MessageType.WARNING);
tray.remove(trayIcon);
10. ClassPath 的简化设定,可以用通配符
java –cp .;c:\jars\* onlyfun.caterpillar.JNotePad
11. JDBC 4.0 让你加载数据库驱动更容易了
不再 Class.forName("FullyQualifiedNameOfTheDriverClass") 了,只要你的驱动包中有这么一个文件 /META-INF/services/java.sql.Driver,里面的内容是驱动类名如:
com.mysql.jdbc.Driver
那只要一句话 Connection conn = DriverManager.getConnection( url, username, password); 就能获得你的连接了,其实用的就是 Service Provider Mechanism。
整理自林信良的《java学习笔记JDK6课件》
参考:1. Introduction to Java 6.0 New Features
本文链接 https://yanbin.blog/java-se6-new-features/, 来自 隔叶黄莺 Yanbin Blog
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。