`
jiabao523527
  • 浏览: 7969 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员_jdk1.5新特性

 
阅读更多

  ------- android培训java培训、期待与您交流! ----------

 

1、泛型(Generics)--为集合提供编译时类型安全,无需每刻从Collections取得一个对象就进行强制转换集合 通过模板技术可以指定集合元素类型而Java在1.5的前直没有相对应功能。集合可以放任何类型对象相应
地从集合里面拿对象时候我们也不得不对他们进行强制得类型转换,jdk1.5引入了泛型它允许指定集合里元素类型这样我们可以得到强类型在编译时刻进行类型检查好处 。

例如:

 ArrayList al = new ArrayList();

这时编译器就会提示我们:

ArrayList is a raw type. References to generic type ArrayList<E>  should be parameterized

泛型最大的好处是

当你从集合中得到一个元素时你无需进行强制转换。故原先为:
  String Name = ((String) UserName.get(i));
而下面的语句将比上面的更加简单:
  String  Name = UserName.get(i);

 

 

2、增强的“for”循环(Enhanced For loop)--减少迭代器(iterator)的潜在错误

void printAll(ArrayList al) {
 for (Iterator i = al.iterator(); i.hasNext(); ) {
    User u= (User)i.next();
  System.out.println(u.getName());
  }
}
现在,用增强的For语句实现相同方法:

  void printAll(ArrayList al) {

  for (User  user : al)

  System.out.println(user.getName());

  }

这段代码要比上面清晰许多并且避免了强制类型转换 。

在这类For循环中,你应该将":"看成"in",所以,在该例中可以看成"User  user in al"。这种For循环更具可读性。

 

 

3、自动置入/自动取出(Autoboxing/unboxing)--无需在基本类型和包装类型之间人工地进行转换。

      自动装包/拆包大大方便了基本类型数据和它们包装类地使用 
   自动装包:基本类型自动转为包装类.( >> Integer)
  自动拆包:包装类自动转为基本类型.(Integer >> )
 
  在JDK1.5的前我们总是对集合不能存放基本类型而耿耿于怀现在自动转换机制解决了我们问题 
       int  a = 5;
   ArrayList al = new ArrayList (); 
      al.add(a);         //自动转换成Integer.
  Integer b= new Integer(30); 
      al.add(b + 2); //这里Integer先自动转换为进行加法运算然后再次转换为Integer.

这里有个需要注意的地方就是当数值大于127的时,自动装箱后的integer对象是不相等的。 

4、枚举(Typesafeenums)--提供类型安全枚举模式的各项好处。

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、静态导入(Static import)--无需在使用其他类的静态成员变量前缀其类名.这将使得代码更为简洁。

  要使用用静态成员(思路方法和变量)我们必须给出提供这个思路方法类使用静态导入可以使被导入类所有静
态变量和静态思路方法在当前类直接可见使用这些静态成员无需再给出他们类名 ,像这样:
  import static java.lang.Math.*;
          …….
       r  = sin(PI * 2); //无需再写r = Math.sin(Math.PI);  

不过使用这个特性也会定程度上降低代码地可读性 。

6、可变参数(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",Object[0]).invok(c.Instance,Object[0]))现在我们可以这样写了
c.getMethod("test").invoke(c.Instance)这样代码比原来清楚了很多。


 

分享到:
评论

相关推荐

    IBM_jdk1.5_Guide.zip_IBM jdk 1.5_aix_ibm java1.5_ibm jdk1.5 wind

    在"IBM_jdk1.5_Guide.pdf"这个文档中,很可能是IBM JDK 1.5的官方指南或开发者手册,它将详细阐述如何安装、配置和使用IBM JDK 1.5,以及如何在AIX环境下进行Java开发。而"www.pudn.com.txt"可能是下载资源的来源...

    JAVA帮助文档全系列_JDK1.5_、JDK1.6、_JDK1.7_官方中英完整版下载

    ### JAVA帮助文档全系列_JDK1.5_、JDK1.6、_JDK1.7_官方中英完整版下载 #### 概述 本文档提供了JDK(Java Development Kit)不同版本的下载链接及其相关介绍。JDK作为Java开发的核心组件,对于Java程序员来说至关...

    JDK1.5新特性

    JDK1.5新特性

    jdk1.5新特性

    ### JDK 1.5 新特性详解 #### 泛型编程 **定义与作用:** 泛型编程是 Java 1.5 引入的一项重要特性,它允许开发者在编译时进行类型安全检查,从而避免了运行时可能出现的类型转换异常。通过在编译阶段检查类型安全...

    Unsafe_jdk1.5_rt.jar

    《深入理解Java Unsafe类在JDK 1.5中的应用》 在Java编程语言中,`Unsafe`类是一个特殊的存在,它提供了对内存操作的直接访问权限,绕过了Java的一些安全机制。在JDK 1.5版本的`rt.jar`库中,`Unsafe`类扮演着一个...

    详细介绍JDK1.5的各种新特性

    以下是JDK1.5中的主要新特性及其详细解释: 1. **泛型(Generics)**:泛型是JDK1.5引入的最大变革之一。它允许在类、接口和方法中使用类型参数,提高了代码的类型安全性和重用性。泛型帮助程序员在编译时检查类型...

    JDK_API_1_5_zh_CN(JDK1.5中文帮助文档)

    JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_...

    JAVA_jdk1.5笔记

    《JAVA_jdk1.5笔记》是一份专为初学者设计的详尽教程,涵盖了JAVA编程的基础知识,ANT构建工具的使用,以及单元测试的重要概念。这个资源集合旨在帮助新手快速掌握JAVA编程语言的核心概念,并熟悉开发过程中的自动化...

    How_to_install_JDK1.5_on_Ubuntu

    本文将详细介绍如何在Ubuntu 9.10操作系统上安装JDK 1.5,这一过程对于那些需要在较低版本的Java环境中进行开发的用户尤其重要,例如在进行某些Android应用开发时,可能因为兼容性问题而需要回退到JDK 5。...

    appengine-java-sdk-1.5.0.1.zip_JDK1.5.0.1_appengine-java-s_appen

    标签中包含的"jdk1.5.0.1"指的是Java的特定版本,即Java 5.0 Update 1。这是Oracle公司发布的Java平台标准版(Java SE)的一个版本,提供了许多改进和新特性,如泛型、枚举、注解和增强的for循环等。"appengine-java...

    jdk1.5 windows版本 64位

    **正文** 标题:“jdk1.5 windows版本 64位” 描述:“jdk1.5 windows版本 64位,Java开发依赖环境” ...通过理解其新特性和配置要求,开发者可以充分利用这个工具集,进行高效、高质量的软件开发。

    jdk1.5x64位 windows版.zip

    这个版本引入了大量的新特性,对Java平台进行了重大改进,提升了开发效率和性能。 首先,JDK1.5引入了类型安全的枚举(enum),这是对原始的常量类的一个巨大改进。枚举类型使得代码更加清晰,更易于理解和维护,...

    linux系统jdk1.5下载

    JDK1.5引入了一些重要的特性,如增强的for循环(foreach)、匿名内部类的改进、枚举类型以及泛型的初步支持。这些特性对Java编程产生了深远影响,提升了代码的可读性和安全性。 然而,由于JDK1.5已不再受官方支持,...

    Jdk1.5新特性

    博文链接:https://weibaojun.iteye.com/blog/70284

    linux下JDK1.5

    JDK1.5引入了一些重要的新特性,如: 1. **Generics(泛型)**:允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。 2. **Autoboxing and Unboxing(自动装箱与拆箱)**:自动将基本类型与对应的...

    详细描述jdk1.5新特性

    ### 详细描述 JDK 1.5 新特性:泛型 #### 一、引言 Java 5.0(也称为 JDK 1.5)引入了一系列重要的新特性,这些特性极大地提高了开发者的编程效率和代码质量。其中最显著的特性之一便是泛型(Generics)。本文将...

    Java-jdk1.5安装包

    JDK1.5,也称为Java 5.0,是一个重要的版本,它引入了许多新的特性和改进,对Java语言的发展产生了深远影响。 一、泛型(Generics) 在Java 5.0中,最重要的特性之一就是泛型的引入。泛型允许开发者在定义类、接口...

    JDK1.5_22 JDK1.5_22

    总结来说,JDK 1.5_22是Java发展史上的一个重要里程碑,它的特性不仅极大地提高了开发者的生产力,也为Java应用程序的稳定性和安全性奠定了基础。对于那些需要在Java 5环境中开发和维护项目的人来说,这个版本的JDK...

    JDK 1.5新特性及应用

    JDK 1.5 是Java发展历程中的一个重要里程碑,它引入了一系列新特性,极大地提升了编程的效率和代码的可读性。以下将详细讲解其中的一些关键特性及其应用。 1. 类型安全的枚举(Type-Safe Enumerations) 在JDK 1.5...

Global site tag (gtag.js) - Google Analytics