一叶观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个特性是:
- 数字可由下划线分隔,增强可读性;
- Switch支持字符串类型,方便啊;
- catch可同时捕获多种异常,catch大瘦身;
- 范型类型推断,不用重复写范型类型名了;
- try增加自动释放资源(AutoClosable接口),忘掉嵌try...catch的finally吧;
代码原文及详细解释,见:http://www.javacodegeeks.com/2011/11/java-7-feature-overview.html
分享到:
相关推荐
这个是09.3.11发布的。挺好用啊。我用了,没有bug。面板也换了,挺好看啊。
5、增加了论坛“事件”功能。6、增加了选择上传组件功能。7、增加了“首页分段显示”功能。8、增加了前后台搜索功能。9、增强了后台管理功能。10、增加"今日发贴"统计功能。11、增加超强EM贴图及动作帖功能。12、...
L7刷机包,用于L7的刷机,最终版本哦!
仅适用于XP系统 非常不错的小工具箱 功能非常齐全非常强大
一叶,让上网不再孤单! 该扩展的主要功能有: 1. 和同网页或同网站的用户实时聊天。 2. 在任意网页留言。 3. 邀请其他用户来您正在浏览的网页。 4. 发私信。 5. 关注其他用户。 6. 弹幕显示。 7. 在Youtube视频中...
一叶倾心万指空.doc
职业生涯规划一叶浮萍.pptx
一叶《一叶》是一款,它让你可以在任意网页上实时聊天。你也可以将一叶聊天盒部署在你自己的网站上,一叶的前一段代码都是开源的。主要功能包括有:同网页聊天同网站聊天创建个性化房间用户之间可以关注,发私信等...
2019中考语文满分作文一叶一世界
『一叶飘香』网络相册,美化自心灵一笑网络相册 默认管理员:admin 密码:admin
一花一世界,一叶一菩提.doc
电子信息海洋里的一叶书舟.pdf
美化自蓝色魅力留言本v1.0,简单实用。
最近一叶不知秋—串口VS2013,串口调试助手是一个很好而小巧的串口调试助手,好支持Win7等Windows操作系统。串口调试助手(win7串口调试工具)支持常用的50-256000bps波特率,能设置校验、数据位和停止位。
大班创意线描画—《一叶畅想》.docx
语言:中文 (简体) 一叶智能,效果营销自动化数据运营平台 一叶智能营销助手,提升营销效率,实现自动化数据运营
河北省邯郸市馆陶一中2015届高考语文一轮复习 古典诗歌鉴赏分类系列指导之一 一枝一叶总关情
刷机包第十一个压缩包,111111111111111
机械设备行业周报:一叶落而知天下秋.pdf
程序名称:『一叶飘香』网络相册,美化自心灵一笑网络相册背景音乐为:东京爱情故事管理登陆页面:login.asp数据库:mdb/xiangce.asp默认管理员:admin 密码:admin密码修改在config.asp文件中,欢迎大家前往演示...