`

一叶观Java7之5特性

    博客分类:
  • Java
阅读更多

一叶观Java7之5特性

liuu


一个类中,尽览Java7的5个新特性,大家找找看,到底是哪几个:


public class ProjectCoinBanker {

  private static final Integer ONE_MILLION = 1_000_000;
  private static final String RICH_MSG = "You need more than $%,d to be considered rich.";

  public static void main(String[] args) throws Exception {
	System.out.println(String.format(RICH_MSG, ONE_MILLION));

	String requestType = args[0];
	String accountId = args[1];
	switch (requestType) {
		case "displayBalance":
			printBalance(accountId);
			break;
		case "lastActivityDate" :
			printLastActivityDate(accountId);
			break;
		case "amIRich" :
			amIRich(accountId);
			break;
		case "lastTransactions" :
			printLastTransactions(accountId, Integer.parseInt(args[2]));
			break;
		case "averageDailyBalance" :
			printAverageDailyBalance(accountId);
			break;
		default: break;
	}
  }

  private static void printAverageDailyBalance(String accountId) {
        String sql = String.format(AVERAGE_DAILY_BALANCE_QUERY, accountId);
	try (
	      PreparedStatement s = _conn.prepareStatement(sql);
              ResultSet rs = s.executeQuery();
             ) {
	        while (rs.next()) {
		  //print the average daily balance results
                }
	     } catch (SQLException e) {
		// handle exception, but no need for finally to close resources
                for (Throwable t : e.getSuppressed()) {
		   System.out.println("Suppressed exception message is " + t.getMessage());
		}
	     }
  }

  private static void printLastTransactions(String accountId, int numberOfTransactions) {
	List<Transaction> transactions = new ArrayList<>();
	... handle fetching/printing transactions
  }

  private static void printBalance(String accountId) {
	try {
		BigDecimal balance = getBalance(accountId);
		//print balance
	} catch (AccountFrozenException | ComplianceViolationException | AccountClosedException e) {
	    System.err.println("Please see your local branch for help with your account.");
	}
  }

  private static void amIRich(String accountId) {
	try {
		BigDecimal balance = getBalance(accountId);
		//find out if the account holder is rich
	} catch (AccountFrozenException | ComplianceViolationException | AccountClosedException e) {
	    System.out.println("Please see your local branch for help with your account.");
	}
  }

  private static BigDecimal getBalance(String acccountId)
      throws AccountFrozenException, AccountClosedException, ComplianceViolationException {
      ... getBalance functionality
  }

}



 ---------------------------------------------


这5个特性是:


  1. 数字可由下划线分隔,增强可读性;
  2. Switch支持字符串类型,方便啊;
  3. catch可同时捕获多种异常,catch大瘦身;
  4. 范型类型推断,不用重复写范型类型名了;
  5. try增加自动释放资源(AutoClosable接口),忘掉嵌try...catch的finally吧;


代码原文及详细解释,见:http://www.javacodegeeks.com/2011/11/java-7-feature-overview.html


分享到:
评论

相关推荐

    L7九天一叶刷机包最新

    5. **下载刷机包**:本案例中的"L7九天一叶ep2刷机包最终版[1]"就是这样的刷机包,它包含了对L7设备的系统修改或更新。这些包通常包含一个完整的系统镜像,有时还包括必要的驱动程序和更新文件。 6. **进入恢复模式...

    沧海一叶 v1.0

    5、增加了论坛“事件”功能。6、增加了选择上传组件功能。7、增加了“首页分段显示”功能。8、增加了前后台搜索功能。9、增强了后台管理功能。10、增加"今日发贴"统计功能。11、增加超强EM贴图及动作帖功能。12、...

    Motorola L7九天一叶刷机包

    【Motorola L7九天一叶刷机包】是一个针对摩托罗拉L7手机的定制化系统升级包,由开发者于2009年3月11日发布。这款刷机包旨在为用户带来更好的使用体验,根据描述,它经过了优化并且在实际使用中没有发现明显的错误或...

    一叶飘香留言本

    这款留言本不仅保留了原版的基本功能,还在界面设计和用户体验上进行了提升,使之更加吸引人且易于使用。 首先,我们来了解一下“蓝色魅力留言本v1.0”。它是一款早期的在线留言板软件,以其简洁的界面和稳定的功能...

    江海一叶飘系统设置维护工具

    仅适用于XP系统 非常不错的小工具箱 功能非常齐全非常强大

    一叶-crx插件

    一叶,让上网不再孤单! 该扩展的主要功能有: 1. 和同网页或同网站的用户实时聊天。 2. 在任意网页留言。 3. 邀请其他用户来您正在浏览的网页。 4. 发私信。 5. 关注其他用户。 6. 弹幕显示。 7. 在Youtube视频中...

    一叶飘香相册程序 美化版

    【一叶飘香相册程序 美化版】是一款基于网络的相册应用程序,它在基础的"心灵一笑网络相册"上进行了界面和功能的优化,旨在为用户提供更美观、更友好的图片存储和分享体验。这款程序可能是由个人开发者或者小型团队...

    简单javacv应用的包

    7. **ffmpeg-3.2.1-1.3.jar**:这是FFmpeg的Java接口库,同样由JavaCV提供,使得开发者可以通过Java代码操作FFmpeg。 8. **ffmpeg-3.2.1-1.3-{platform}-x86_64.jar** 和 **opencv-3.1.0-1.3-{platform}-x86_64.jar...

    客户:一叶客户端源代码

    一叶《一叶》是一款,它让你可以在任意网页上实时聊天。你也可以将一叶聊天盒部署在你自己的网站上,一叶的前一段代码都是开源的。主要功能包括有:同网页聊天同网站聊天创建个性化房间用户之间可以关注,发私信等...

    一花一叶总关情.doc

    一花一叶总关情.doc

    一叶飘香文章管理程序 v1.0 美化版

    5. **源代码开放**:作为一款开源软件,一叶飘香文章管理程序 v1.0 美化版提供了源代码,允许开发者根据自身需求进行二次开发和定制,扩展其功能或者优化性能。 6. **资料支持**:标签中的"源代码"和"资料"表明,...

    一叶智能营销助手-crx插件

    7. **易用性**:一叶智能营销助手的设计应考虑用户体验,提供直观的界面和简单的操作流程,使得即使是不熟悉此类工具的用户也能轻松上手。 8. **安全性**:由于涉及敏感的客户数据和营销策略,插件在设计时必须注重...

    2019中考语文满分作文一叶一世界

    《一叶一世界》,一篇2019年中考语文满分作文,以小蚂蚁的视角,巧妙地展现了宇宙间微小生命体的独特世界观。在这篇作文中,作者不仅仅是在讲述一个关于蚂蚁和叶子的故事,更是在通过这个故事向我们传达生命意义的...

    江海一叶飘IE浏览器修复工具

    《江海一叶飘IE浏览器修复工具》是一款专注于解决IE浏览器问题的专业软件,尤其针对右键菜单被锁定的情况,提供了一站式的解决方案。在互联网早期,IE浏览器是广大用户的主要上网工具,但随着时间推移,它可能会遇到...

    Java文件输入输出汇总

    - Java中常见的文件复制方法包括使用`FileInputStream`和`FileOutputStream`,配合`BufferedInputStream`和`BufferedOutputStream`进行缓冲,或者使用`Files.copy()`方法,这是Java 7引入的新特性。 8. **文件的...

    java and vba

    最后,"Java与VBA通讯实践 - 一沙一世界 一叶一如来 - 博客频道 - CSDN.NET_files"可能是博客的附加资源,包含图片、示例代码或其他辅助材料。 综合以上信息,我们可以预期这篇关于Java和VBA的文章会涵盖以下知识点...

    Java聊天程序源码.zip

    Java聊天程序源码.zip是一个包含Java编程语言实现的聊天应用程序的源代码集合。这个程序提供了丰富的功能,使得用户能够在一个互动的环境中进行实时交流。以下是该聊天程序的关键知识点和技术细节: 1. **网络编程*...

    一花一世界,一叶一菩提.doc

    一花一世界,一叶一菩提.doc

    一叶倾心万指空.doc

    在这幅画卷中,落叶则成为了最有代表性的元素之一,它们不仅仅是季节更迭的标志,也是人们情感投射的载体。 “一叶倾心万指空”这一主题,深入刻画了作者在秋日里对落叶的特殊情感。这片飘落的叶子,轻盈地、无声地...

    java面试100题及答案面试宝典

    根据提供的文件信息,这里将基于“java面试100题及答案面试宝典”的标题、描述和部分提及的内容,来生成一系列与Java相关的面试知识点。虽然原始内容并未给出具体题目,但我们可以根据常见Java面试题目的类型来进行...

Global site tag (gtag.js) - Google Analytics