Java SE6 中的新功能特性简介

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

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments