Java 7新功能代码范例
来源:互联网 发布:大宗交易数据一览 编辑:程序博客网 时间:2024/05/17 08:14
◆在数字中使用下划线
◆改进的通用实例创建类型推断(diamond)
◆在switch语句中使用字符串
◆使用二进制字符
51CTO推荐专题:Java 7 下一代Java开发技术详解
下面是一个简短的示例,用于检验这些新功能。使用普通的文本编辑器,还有你离不开的老朋友 javac 和 java,可以进行测试(IDE 还不支持新的语法,应该会报错)。
- public class Jdk7Tests {
- public static void main(String[] args) {
- Jdk7Tests jdk7Tests = new Jdk7Tests();
- jdk7Tests.integersWithUnderscores();
- jdk7Tests.stringSwitch();
- jdk7Tests.binaryLiteral();
- jdk7Tests.diamond();
- }
- private void integersWithUnderscores()
- {
- int i = 1_2;
- System.out.println(i);
- i*=10;
- System.out.println(i);
- int j=2_0;
- System.out.println(i-j);
- }
- private void stringSwitch()
- {
- String key = "akey";
- switch (key)
- {
- case "":
- {
- System.out.println("Nothing");
- break;
- }
- case "akey":
- {
- System.out.println("Matched akey");
- break;
- }
- default:
- break;
- }
- }
- private void binaryLiteral()
- {
- byte aByte = (byte)0b001;
- short aShort = (short)0b010;
- System.out.println(aByte + " " + aShort);
- }
- private void diamond()
- {
- Set set = new TreeSet<>();
- set.add("c");
- set.add("b");
- set.add("a");
- for (String val : set)
- {
- System.out.println(val);
- }
- }
- }
下划线和数字:
对于身份证或电话号码,数字中间需要有分割符号的数字,该功能非常有用。不必再将数据放入一个字符串中,然后对其进行语法分析,剔除下划线,再将其放入一个整数中。不过,当你使用带有下划线的数字进行运算时,可能会有点困惑。比如 1_2 * 2 的结果是多少?从上述示例中代码,可以看出,JVM 处理这些运算时将下划线剔除了。因此,1_2 * 10 = 120,并且 120 – 2_0 = 100。很简单。
Diamond:
这个功能应该可以简化集合的实例化。为了迎接 JKD 7 的到来,是时候更新我的自动完成代码模板了。按照我的看法,读 diamond()方法中的代码,稍微容易点。不过,对于语法没有改善什么。
使用字符串的 switch 语句:
这是相当不错的功能。现在除了整数等等之外,你还可以使用字符串进行跳转(swtich)。利用这个功能,可简化将整数变量分配到相应的字符串变量的代码。包含多处回调方法的代码通常会在某一处设置一个整数变量,表示利用 switch 构造,找到某个特定字符串,然后稍后对此进行处理。利用这个技巧,某些开发人员编写了使用 SAX 处理 XML 的代码。对于使用了这个功能的代码,应该能够减少几行。
二进制字面量:
现在,你可以使用二进制字面量这种表示方式,并且使用非常简短的代码,可将二进制字符转换为数据类型,如在byte或short。我还想不到哪里会经常用到这个功能,但某些涉及到比特的编程实现问题会较容易解决。
其他有趣的功能不一定会影响到编程,比如更好的算法实施和性能改善。据说对于某些应用程序,这些改善让性能提升了数倍。有时间,你应该亲自测试一下。
原文:Coding with JDK7 作者:CertPal
- Java 7新功能代码范例
- Java 7新功能代码范例
- C# 7.0 新功能代码范例
- JAVA代码注释范例
- JAVA代码注释范例
- java同步代码范例
- JAVA-电子签名范例代码
- JAVA 7新功能一览
- JAVA 7新功能一览
- Java 7七大新功能
- iOS 7新功能代码例子
- iOS 7新功能代码例子
- Java 7七大新功能预览
- Java 7七大新功能预览
- Java 7七大新功能预览
- Java 7七大新功能预览
- Java 7七大新功能预览
- Java 7的七大新功能
- Build uclinux for blackfin using Ubuntu 9.x
- c# [Serializable]
- 我今天很不开心
- DOM SAX JAXP DOM4J JDOM xerces解析器
- 被遗忘的linux神器--seq
- Java 7新功能代码范例
- VIM复制粘贴大全!
- 怎么判断文本框输入的值只能是数字和回车建
- linux和windows下JDK环境的配置
- phonon:没有那个文件或目录
- 一日一点RakNet(28)--IPV6 support
- 一步一步学Streams:第三部分(20)高级配置之单源多向复制环境(1)
- C# LIST<> ilis<> 区别
- android操作sdcard中的多媒体文件——音乐列表的更新