本帖最后由 ysunday 于 2013-11-22 22:05 编辑
据说jdk1.7有几个好用的特性。说下自己认为好用的两个
1.<>这个,菱形泛型,给我们省调了一个单词的事
例子:
1.7之前
List<String> list = new ArrayList<String>();
1.7:
List<String> list = new ArrayList<>();
虽说不是什么大的改动,但是确实少写了一个单词
2.自己认为给我们的用处最大try(代码){代码}
1.7之前异常处理这么做- public class NewTry {
- public static void main(String[] args) throws IOException{
- FileInputStream fis = null;
- FileOutputStream fos = null;
- try{
- //当然这里你可以写复制文件阿,操作读取数据阿.这里简单写的
- int len = fis.read();
- System.out.println(len);
- }finally{//这个finally只是为了确保关掉fis,但很可能关fis时还会有异常
- //所以还有下边的那个finally
- try{//检测并关闭fis
- if(fis != null)
- fis.close();
- }finally{//这个finally为了确保关fos
- if(fos != null){
- fos.close();
- }
- }
- }
- }
- }
复制代码 1.7- public class NewTry {
- //这里在函数抛异常是为了让调用者知道这个函数有异常,如果你处理了,相当于把异常
- //隐藏了,对开发不利
- //可能跟毕老师讲的可能不同,我忘了,各人有个人的见解.
- public static void main(String[] args) throws IOException{
- // TODO Auto-generated method stub
- try(//看清楚,这里是个小括号,在小括号里边创建流什么的
- FileInputStream fis = new FileInputStream("abc.txt");
- FileOutputStream fos = new FileOutputStream("haha.txt");
- ){//大括号写针对流的各种操作.这里又简写了.
- int len = fis.read();
- System.out.println(len);
- }
- }
- }
- /*
- *其实1.7的对象只要是实现了autoclose接口的就可以放在try后边的小括号
- *里边,然后为什么不用关流了呢
- *是因为打括号里边的代码执行完后,会自动调用小括号里边包含的类的close方法
- *省了不少事 ,至于怎么自动调用的,我是不关心了.只管用
- * */
- */
复制代码 3.jdk1.7竟然开始支持python,perl等动态语言了,这对喜欢python的同志个好事
这个新特性到现在还不会用。
4.每次让写copy文件的时候就特别头疼,1.7之后就好了,多了个包
java.nio.file.Files,这个包下的方法绝对是文件操作的利器。快看看吧
5.GUI编程也可以编辑任意形状的窗口,可以创建透明度自定义的了,这个包忘了。
|