J2SE 5.0 语言新特性

j2se

 JavaTM Language Features For more information see New Language Features. Generics This long-awaited enhancement to the type system allows a type or method to operate on objects of various types while providing compile-time type safety. It adds compile-time type safety to the Collections Framework and eliminates the drudgery of casting. Refer to JSR 14. Enhanced for Loop This new language construct eliminates the drudgery and error-proneness of iterators and index variables when iterating over collections and arrays. Refer to JSR 201 . Autoboxing/Unboxing This facility eliminates the drudgery of manual conversion between primitive types (such as int) and wrapper types (such as Integer). Refer to JSR 201 . Typesafe Enums This flexible object-oriented enumerated type facility allows you to create enumerated types with arbitrary methods and fields. It provides all the benefits of the Typesafe Enum pattern ("Effective Java," Item 21) without the verbosity and the error-proneness. Refer to JSR 201. Varargs This facility eliminates the need for manually boxing up argument lists into an array when invoking methods that accept variable-length argument lists. Refer to JSR 201. Static Import This facility lets you avoid qualifying static members with class names without the shortcomings of the "Constant Interface antipattern." Refer to JSR 201. Metadata (Annotations) This language feature lets you avoid writing boilerplate code under many circumstances by enabling tools to generate it from annotations in the source code. This leads to a "declarative" programming style where the programmer says what should be done and tools emit the code to do it. Also it eliminates the need for maintaining "side files" that must be kept up to date with changes in source files. Instead the information can be maintained in the source file. Refer to JSR 175.

时间: 2025-01-15 07:46:23

J2SE 5.0 语言新特性的相关文章

在Eclipse 3.1中体验J2SE 5.0的新特性: 第一部分 :枚举类型

J2SE 5.0 (Tiger)的发布是Java语言发展史上的一个重要的里程碑, 是迄今为止在 Java 编程方面所取得的最大进步. J2SE 5.0提供了很多令人激动的特性.这些特性包括范型(generics)的支持, 枚举类型 (enumeration)的支持, 元数据(metadata)的支持, 自动拆箱(unboxing)/装箱 (autoboxing), 可变个数参数(varargs), 静态导入(static imports), 以及新的线程架 构(Thread framework)

在Eclipse 3.1中体验J2SE 5.0的新特性: 第三部分 :范型

J2SE 5.0 (Tiger)的发布是Java语言发展史上的一个重要的里程碑, 是迄今为止在 Java 编程方面所取得的最大进步. J2SE 5.0提供了很多令人激动的特性.这些特性包括范型(generics)的支持, 枚举类 型(enumeration)的支持, 元数据(metadata)的支持, 自动拆箱(unboxing)/装箱 (autoboxing), 可变个数参数(varargs), 静态导入(static imports), 以及新的线程架 构(Thread framework)

在Eclipse 3.1中体验J2SE 5.0的新特性 第二部分 :注释类型

J2SE 5.0 (Tiger)的发布是Java语言发展史上的一个重要的里程碑, 是迄今为止在 Java 编程方面所取得的最大进步. J2SE 5.0提供了很多令人激动的特性.这些特性包括范型(generics)的支持, 枚举类 型(enumeration)的支持, 元数据(metadata)的支持, 自动拆箱(unboxing)/装箱 (autoboxing), 可变个数参数(varargs), 静态导入(static imports), 以及新的线程架 构(Thread framework)

C# 3.0语言新特性(语言规范):7 查询表达式

规范 原文:<C# Version 3.0 Specification>,Microsoft翻译:lover_P 查询表达式(Query Expression)为查询提供了一种语言集成的语法,这种语法类似于关系和分级查询语言,如SQL和XQuery. query-expression:from-clause  query-body from-clause:from  from-generators from-generators:from-generatorfrom-generators  ,

C#3.0语言新特性之隐式类型

20.1 隐式类型 在C#3.0中增加了一个变量声明var,这个声明和JavaScript 的var类似,但 也有不同.相同之处是它可以用var来声明任何类型的局部变量:而不同之处在 于它仅仅负责告诉编译器,该变量需要根据初始化表达式来推断变量的类型,而 且只能是局部变量. 20.1.1 隐式类型局部变量的声明与使用 在C# 3.0中,引进了一个新的关键字叫做var.var允许你声明一个新变量, 它的类型是从用来初始化器变量的表达式里隐式的推断出来的,即在声明时,你 不需要给它定义类型,它会根据

C# 3.0语言新特性(语言规范):3 拉姆达表达式

规范 原文:<C# Version 3.0 Specification>,Microsoft翻译:lover_P C# 2.0中引入了匿名方法,允许在期望出现委托的时候以"内联(in-line)"的代码替代之.尽管匿名方法提供了函数式编程语言中的很多表达能力,但匿名方法的语法实在是太罗嗦了,并且很不自然.拉姆达表达式(Lambda expressions)为书写匿名方法提供了一种更加简单.更加函数化的语法. 拉姆达表达式的书写方式是一个参数列表后跟=>记号,然后跟一个

C# 3.0语言新特性(语言规范):4 对象和集合初始化器

对象|规范|集合 原文:<C# Version 3.0 Specification>,Microsoft翻译:lover_P 一个对象创建表达式可以包含一个对象或集合初始化器,用于初始化新创建的对象的成员或新创建的集合的元素. object-creation-expression:new  type  (  argument-listopt  )  object-or-collection-initializeroptnew  type  object-or-collection-initia

C# 3.0语言新特性(语言规范)

规范 原文:<C# Version 3.0 Specification>,Microsoft翻译:lover_P C# 3.0(C# Orcas--魔鬼)在C# 2.0的基础上引入了很多语言扩展,用以支持高级别的函数式风格类库的创建和使用.这些扩展使得结构性API构造具有与其他领域(如关系数据库和XML)中查询语言同等的表达能力.这些扩展包括: 具有隐式类型的局部变量,允许通过用于初始化的表达式来推断局部变量的类型. 扩展方法,使得对一个现存类型的扩展和构造具有附加方法的类型变为现实. 拉姆达

C#3.0语言新特性之对象和集合初始化器

在C#3.0中,一个对象创建表达式可以包含一个对象或集合初始化器,用于初 始化新创建的对象的成员或新创建的集合的元素. 对象创建表达式: new type (argument-list(可选)) 对象或集合初试化器(可选) new type 对象或集合初试化器 一个对象创建表达式可以省略构造器参数列表,并将其连同圆括号一起替换 为一个对象或集合初始化器.省略构造器参数列表并将其连同圆括号一起替换为 一个对象或集合初始化器等价于指定一个空的参数列表. 在执行一个带有对象或集合初始化器的对象创建表达