|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。“JDK1.5”(开辟代号猛虎)的一个主要主题就是经由过程新增一些特征来简化开辟,这些特征包含泛型,for-each 轮回,主动装包/拆包,列举,可变参数, 静态导进 。利用这些特征有助于我们编写加倍明晰,干练,平安的代码。
上面我们复杂先容一下这些新特征。 1.泛型(Generic) C++经由过程模板手艺能够指定汇合的元素范例,而Java在1.5之前一向没有绝对应的功效。一个汇合能够听任何范例的对象,响应地从汇合内里拿对象的时分我们也不能不对他们举行强迫得范例转换。猛虎引进了泛型,它同意指定汇合里元素的范例,如许你能够失掉强范例在编译时候举行范例反省的优点。
Collection<String> c = new ArrayList();c.add(new Date());
编译器会给出一个毛病:
add(java.lang.String) in java.util.Collection<java.lang.String> cannot be applied to (java.util.Date)
2.For-Each轮回 For-Each轮回得到场简化了汇合的遍历。假定我们要遍历一个汇合对个中的元素举行一些处置。典范的代码为:
void processAll(Collection c){ for(Iterator i=c.iterator(); i.hasNext();){ MyClass myObject = (MyClass)i.next(); myObject.process(); }}
利用For-Each轮回,我们能够把代码改写成:
void processAll(Collection<MyClass> c){ for (MyClass myObject :c) myObject.process();}
这段代码要比下面明晰很多,而且制止了强迫范例转换。
3.主动装包/拆包(Autoboxing/unboxing) 主动装包/拆包年夜小气便了基础范例数据和它们包装类地利用。 主动装包:基础范例主动转为包装类.(int >> Integer) 主动拆包:包装类主动转为基础范例.(Integer >> int) 在JDK1.5之前,我们老是对汇合不克不及寄存基础范例而铭心镂骨,如今主动转换机制办理了我们的成绩。
int a = 3;Collection c = new ArrayList();c.add(a);//主动转换成Integer.Integer b = new Integer(2);c.add(b + 2);
这里Integer先主动转换为int举行加法运算,然后int再次转换为Integer. 4.列举(Enums) JDK1.5到场了一个全新范例的“类”-列举范例。为此JDK1.5引进了一个新关头字enmu. 我们能够如许来界说一个列举范例。
public enum Color{ Red, White, Blue}
然后能够如许来利用Color myColor = Color.Red. 列举范例还供应了两个有效的静态办法values()和valueOf(). 我们能够很便利地利用它们,比方
for (Color c : Color.values()) System.out.println(c);
5.可变参数(Varargs) 可变参数使程序员能够声明一个承受可变数量参数的办法。注重,可变参数必需是函数声明中的最初一个参数。假定我们要写一个复杂的办法打印一些对象,
util.write(obj1);util.write(obj1,obj2);util.write(obj1,obj2,obj3);…
在JDK1.5之前,我们能够用重载来完成,可是如许就必要写良多的重载函数,显得不是很无效。假如利用可变参数的话我们只必要一个函数就好了
public void write(Object... objs) { for (Object obj: objs) System.out.println(obj);}
在引进可变参数今后,Java的反射包也加倍便利利用了。关于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])),如今我们能够如许写了c.getMethod("test").invoke(c.newInstance()),如许的代码比本来分明了良多。 6.静态导进(Static Imports) 要利用用静态成员(办法和变量)我们必需给出供应这个办法的类。利用静态导进可使被导进类的一切静态变量和静态办法在以后类间接可见,利用这些静态成员无需再给出他们的类名。
import static java.lang.Math.*;…….r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);
不外,过分利用这个特征也会必定水平上下降代码地可读性。
JDK1.5正式版已公布,最新版本号:1.5.0.01,人人能够到sun网站下载!
int a = 3;Collection c = new ArrayList();c.add(a);//主动转换成Integer.Integer b = new Integer(2);c.add(b + 2);
这里Integer先主动转换为int举行加法运算,然后int再次转换为Integer. 4.列举(Enums) JDK1.5到场了一个全新范例的“类”-列举范例。为此JDK1.5引进了一个新关头字enmu. 我们能够如许来界说一个列举范例。
public enum Color{ Red, White, Blue}
然后能够如许来利用Color myColor = Color.Red. 列举范例还供应了两个有效的静态办法values()和valueOf(). 我们能够很便利地利用它们,比方
for (Color c : Color.values()) System.out.println(c);
5.可变参数(Varargs) 可变参数使程序员能够声明一个承受可变数量参数的办法。注重,可变参数必需是函数声明中的最初一个参数。假定我们要写一个复杂的办法打印一些对象,
util.write(obj1);util.write(obj1,obj2);util.write(obj1,obj2,obj3);…
在JDK1.5之前,我们能够用重载来完成,可是如许就必要写良多的重载函数,显得不是很无效。假如利用可变参数的话我们只必要一个函数就好了
public void write(Object... objs) { for (Object obj: objs) System.out.println(obj);}
在引进可变参数今后,Java的反射包也加倍便利利用了。关于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])),如今我们能够如许写了c.getMethod("test").invoke(c.newInstance()),如许的代码比本来分明了良多。 6.静态导进(Static Imports) 要利用用静态成员(办法和变量)我们必需给出供应这个办法的类。利用静态导进可使被导进类的一切静态变量和静态办法在以后类间接可见,利用这些静态成员无需再给出他们的类名。
import static java.lang.Math.*;…….r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);
不外,过分利用这个特征也会必定水平上下降代码地可读性。
JDK1.5正式版已公布,最新版本号:1.5.0.01,人人能够到sun网站下载!
Collection<String> c = new ArrayList();c.add(new Date());
编译器会给出一个毛病:
add(java.lang.String) in java.util.Collection<java.lang.String> cannot be applied to (java.util.Date)
2.For-Each轮回 For-Each轮回得到场简化了汇合的遍历。假定我们要遍历一个汇合对个中的元素举行一些处置。典范的代码为:
void processAll(Collection c){ for(Iterator i=c.iterator(); i.hasNext();){ MyClass myObject = (MyClass)i.next(); myObject.process(); }}
利用For-Each轮回,我们能够把代码改写成:
void processAll(Collection<MyClass> c){ for (MyClass myObject :c) myObject.process();}
这段代码要比下面明晰很多,而且制止了强迫范例转换。
3.主动装包/拆包(Autoboxing/unboxing) 主动装包/拆包年夜小气便了基础范例数据和它们包装类地利用。 主动装包:基础范例主动转为包装类.(int >> Integer) 主动拆包:包装类主动转为基础范例.(Integer >> int) 在JDK1.5之前,我们老是对汇合不克不及寄存基础范例而铭心镂骨,如今主动转换机制办理了我们的成绩。
int a = 3;Collection c = new ArrayList();c.add(a);//主动转换成Integer.Integer b = new Integer(2);c.add(b + 2);
这里Integer先主动转换为int举行加法运算,然后int再次转换为Integer. 4.列举(Enums) JDK1.5到场了一个全新范例的“类”-列举范例。为此JDK1.5引进了一个新关头字enmu. 我们能够如许来界说一个列举范例。
public enum Color{ Red, White, Blue}
然后能够如许来利用Color myColor = Color.Red. 列举范例还供应了两个有效的静态办法values()和valueOf(). 我们能够很便利地利用它们,比方
for (Color c : Color.values()) System.out.println(c);
5.可变参数(Varargs) 可变参数使程序员能够声明一个承受可变数量参数的办法。注重,可变参数必需是函数声明中的最初一个参数。假定我们要写一个复杂的办法打印一些对象,
util.write(obj1);util.write(obj1,obj2);util.write(obj1,obj2,obj3);…
在JDK1.5之前,我们能够用重载来完成,可是如许就必要写良多的重载函数,显得不是很无效。假如利用可变参数的话我们只必要一个函数就好了
public void write(Object... objs) { for (Object obj: objs) System.out.println(obj);}
在引进可变参数今后,Java的反射包也加倍便利利用了。关于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])),如今我们能够如许写了c.getMethod("test").invoke(c.newInstance()),如许的代码比本来分明了良多。 6.静态导进(Static Imports) 要利用用静态成员(办法和变量)我们必需给出供应这个办法的类。利用静态导进可使被导进类的一切静态变量和静态办法在以后类间接可见,利用这些静态成员无需再给出他们的类名。
import static java.lang.Math.*;…….r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);
不外,过分利用这个特征也会必定水平上下降代码地可读性。
JDK1.5正式版已公布,最新版本号:1.5.0.01,人人能够到sun网站下载!
int a = 3;Collection c = new ArrayList();c.add(a);//主动转换成Integer.Integer b = new Integer(2);c.add(b + 2);
这里Integer先主动转换为int举行加法运算,然后int再次转换为Integer. 4.列举(Enums) JDK1.5到场了一个全新范例的“类”-列举范例。为此JDK1.5引进了一个新关头字enmu. 我们能够如许来界说一个列举范例。
public enum Color{ Red, White, Blue}
然后能够如许来利用Color myColor = Color.Red. 列举范例还供应了两个有效的静态办法values()和valueOf(). 我们能够很便利地利用它们,比方
for (Color c : Color.values()) System.out.println(c);
5.可变参数(Varargs) 可变参数使程序员能够声明一个承受可变数量参数的办法。注重,可变参数必需是函数声明中的最初一个参数。假定我们要写一个复杂的办法打印一些对象,
util.write(obj1);util.write(obj1,obj2);util.write(obj1,obj2,obj3);…
在JDK1.5之前,我们能够用重载来完成,可是如许就必要写良多的重载函数,显得不是很无效。假如利用可变参数的话我们只必要一个函数就好了
public void write(Object... objs) { for (Object obj: objs) System.out.println(obj);}
在引进可变参数今后,Java的反射包也加倍便利利用了。关于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])),如今我们能够如许写了c.getMethod("test").invoke(c.newInstance()),如许的代码比本来分明了良多。 6.静态导进(Static Imports) 要利用用静态成员(办法和变量)我们必需给出供应这个办法的类。利用静态导进可使被导进类的一切静态变量和静态办法在以后类间接可见,利用这些静态成员无需再给出他们的类名。
import static java.lang.Math.*;…….r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);
不外,过分利用这个特征也会必定水平上下降代码地可读性。
JDK1.5正式版已公布,最新版本号:1.5.0.01,人人能够到sun网站下载!
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。 |
|