java7-coin项目

编程入门 行业动态 更新时间:2024-10-06 18:31:49

java7-coin<a href=https://www.elefans.com/category/jswz/34/1771421.html style=项目"/>

java7-coin项目

2019独角兽企业重金招聘Python工程师标准>>>

coin项目:

1. try-with-resource结构--可自动关闭资源。相比于之前需要调用close()方法才可关闭。

2. switch中添加了字符串支持。

3. 改变了数字常量的展示。现在可以更好的理解一串数字。使用_

4. multi-catch  在一个catch块中可以声明多个要捕获的异常。

5. 钻石语法。 优化泛型处理过程

1. switch语句中的String

JAVA6之前,case语句中的常量只能是bytes char short 和int,也可以是其对应的封装类Byte Character Short Integer 或枚举

JAVA7种新增了String,毕竟String也是常量类型。

2.更强的数值表示法

数字常量(Integer)可以用二进制文本表示

在整数常量中使用下划线

a.二进制文本

举例:JAVA7之前处理二进制,需要基础转换,或者调用parseX

int x = Integer.parseInt("1100110",2)----〉方法调用对性能有影响,需要记住parsex的处理细节。

现在:int x=0b1100110

b.数字中的下划线

Coin项目借鉴了Ruby创意,用下划线_作分隔符。

long textLong=2_123_532_631L;

int bitPattern=0b0001_1100_0011_0100;

3.改善的异常处理

两个改进:multiCatch 和 final

a.multiCatch 使用 |

try{String fileText=getFile(fileName);cfg=verifyConfig(ParseConfig(fileText));}catch(fileNotFoundException | ParserException | ConfigurationException e){system.out.println("``````");}catch(IOException iox){}

b.final 重新抛出异常

java7之前:

try{dothingThrowException();dothingThrowException();}catch(Exception e){}

这样写 真是的抛出异常会被Exception覆盖掉。

java7中:

try{dothingThrowException();dothingThrowException();}catch(final Exception e){}

关键字final表示实际抛出的异常就是运行时遇到的异常。成为final重抛。

4.try-with-resources(TWR)

基本设想是把资源的作用与限定在代码块内,当程序离开这个代码块时,资源自动关闭。

java7之前:要从一个uRL中读取字节流,并把读取到的内容写入到文件(out)中,

InputStream is= null;

try{is=url.openStram();OutputStream out=new FileOutputStream(file);............................}catch(IOException e){}finally{try{out.close();}catch(.....){}}

墨菲定律:任何事情都有可能出错。所以这里会导致文件可能无法打开,无法关闭,无法读写。

java中 --资源自动化管理代码块的基本形式。把资源放在try的圆括号内

try(OutputStream out=new FileOutputStream(file);InputStream is = url.openStream() ){byte[] buf=new byte[4096];int len;while(){.................}}

这种情况下,某些资源可能无法关闭。例如:

try(ObjectInputStream in=new ObjectInputStream(new FileInputStream("someFile.bin"))){............}

要保证trywithresources生效,正确用法:为各个资源声明独立变量。

try(FileInputStream fin=new FileInputStream("somfile.bin");ObjectInputStream in=new ObjectInputStream(fin) ){}

TWR另一个好处是改善了错误跟踪的能力,能够更准确跟踪堆栈异常。JAVA7改进了跟踪堆栈。

拓展:使用TWR,try从句中出现的资源类都必须实现AutoCloseable接口。JAVA7大多数资源类都已经被修改。

5.钻石语法

钻石语法用于:泛型。针对创建泛型定义和实例太过繁琐的问题。

Map<Integer,Map<Stirng,String>> userLists=new HashMap<Integer,Map<Stirng,String>>();

钻石语法省去了后面的 Integer,Map<Stirng,String>

Map<Integer,Map<Stirng,String>> userLists=new HashMap<>();

使用类型推断语法可以省出点空间。

6.简化变参方法的调用

变参方法是指参数列表末尾是数量不定但类型相同的参数方法。

基本上所有出现在末尾的变参都被放到了一个数组中。作为一个参数传入。

这样存在一个java泛型缺陷--不允许创建已知类型的泛型数组。如:

HashMap<String,String>[] arrayhm=new HashMap<>[2];--无法编译通过。

只能这样写:

HashMap<String,String>[] warnHm=new HashMap[2];这样编译器会给一个警告。

java7中把警告性息从使用api的地方移到了定义api的地方。

java7还提供了一个新注解JAVA.lang.safeVarargs通过@safeVarargs对这种方法注解,开发人员就不会在里面进行任何危险操作。

 

转载于:

更多推荐

java7-coin项目

本文发布于:2024-03-12 13:20:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731606.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:项目   coin

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!