勤&快

问题其实就是你期望的东西和你体验的东西之间的差别
随笔 - 55, 文章 - 0, 评论 - 68, 引用 - 0
数据加载中……

JavaSE 5.0的一些新特性

1. 对于增强的for语句的支持

支持类似foreach的语法

/**
   
@version 1.20 2004-02-28
   
@author Cay Horstmann
*/

public class Welcome
{
   
public static void main(String[] args)
   {

      String[] greeting 
= new String[3];
      greeting[
0= "Welcome to Core Java";
      greeting[
1= "by Cay Horstmann";
      greeting[
2= "and Gary Cornell";

      
for (String g : greeting)
         System.out.println(g);
   }
}

2.对泛型的支持
ArrayList<Type> arrayList = new ArrayList<Type>();
原来arrayList.get(i)的前面要加(Type)arryList.get(i)进行类型转换,现在可以直接写arrayList.get(i)了。
具体泛型怎么用,还用继续研究。呵呵。

3.自动打包

原来要写
int n = 5;
Integer wrapper = new Integer(n);
先可以写
int n = 5;
Integer wrapper = n;

当然也可以写
Integer wrapper = ***;
n = wrapper

5. 覆盖方法时候可以改变返回类型

6. 静态导入
import一个有静态方法的类,如java.lang.Math;
里面一个静态变量PI,一个静态方法sqrt();
原来使用要Math.sqrt(Math.PI);
现在可以直接写sqrt(PI);
导入方法,如要导入Math.sqrt,使用
import static java.lang.Math.*;
另外一个例子
import static java.lang.System.out;
太方便了,太方便了...

7. 输入控制台
这个更方便
实现了类似c中sanf和c++中cin的功能。
在java.lang.Scanner类,可以实现从控制台直接读取数据。如:
import java.util.Scanner;

public class ConsoleInputTest {

    
/**
     * 
@param args
     
*/
    
public static void main(String[] args) {
        
// TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        System.out.print(
"please input a integer:");
        
int n = in.nextInt();
        System.out.print(
"please input a String:");
        String str 
= in.next();
        System.out.println(
"int: " + n);
        System.out.println(
"String: " + str);
    }
}

8.格式化输出
类似printf中的输出格式控制printf("%-5.3f", x);
可以使用
System.out.printlf("%8.2f", x);

9.关于界面编写的,不懂

10. Unicode编码
支持Unicode4.0,有“增补”字符,都采用两个连续的char编码,对中文支持好。

11. 构建字符串的新方法StringBuilder
StringBuilder s = new StringBuilder();
比StringBuffer灵活,但是不适线程安全的。所以,都线程时要注意。

参考资料: Core Java 2, Volume 1 seventh Edition 中文版 附录B


posted on 2007-06-25 16:12 daning 阅读(308) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航: