快速业务通道

Eclipse V3.1中的Java泛型支持 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04

一 旦您根据喜好设定了所有的项目选项,就可以开始在 Eclipse 中使用泛型了。

从特定类型向泛型转换

请考虑清单 1 中的简单类,它创建了一 个 Employee 和 Manager 对象的列表(Manager 扩展自 Employee),将他们打 印出来,给他们涨工资后再打印出来。

清单 1. HR 类

package  com.nealford.devworks.generics.generics; import  java.util.ArrayList; import java.util.Collections; import  java.util.List; public class HR {   public HR() {     List empList = new ArrayList(5);      empList.add(new Employee("Homer", 200.0, 1995));      empList.add(new Employee("Lenny", 300.0, 2000));      empList.add(new Employee("Waylon", 700.0, 1965));      empList.add(new Manager("Monty", 2000.0, 1933,          (Employee) empList.get(2)));     printEmployees (empList);     System.out.println("----- Give  everyone a raise -----");     for (int i = 0; i <  empList.size(); i++)       ((Employee) empList.get (i)).applyRaise(5);     printEmployees(empList);     System.out.println("The maximum salary for any  employee is "+         Employee.MAX_SALARY);     System.out.println("Sort employees by salary");      Collections.sort(empList);     printEmployees (empList);     System.out.println("Sort employees by  name");     Collections.sort(empList, new  Employee.NameComparer());     printEmployees(empList);     System.out.println("Sort employees by hire  year");     Collections.sort(empList,  Employee.getHireYearComparator());     printEmployees (empList);   }   public void printEmployees(List  emps) {     for (int i = 0; i < emps.size();  i++)       System.out.println(emps.get(i));   }   public static void main(String[] args) {      new HR();   } }

如果您打开了 Java 5 支持, 编译这段代码会出现多种警告信息。

Eclipse V3.1中的Java泛型支持(3)

时间:2010-12-02 IBM Neal Ford

快速修复特性

每当 Eclipse 要给您的代码建议一种改进时,Eclipse 的快速修复特性就显示为编辑器窗口左 侧边栏上的一个灯泡。在清单 1 中的代码中,您将会看到多个快速修复。

图 3. 快速修复灯泡指示您的代码待改进

快速修复使用灯泡和黄色波浪线指示待改进处。如果将鼠标移动至黄色波浪 线上,可以看到出现在图 4 中的改进建议。

图 4. 快速修复指示什么应该被通用化

这里所列的快速修复建议只有一条建议。边上的灯泡提出建议,添加一个本 地变量保存 List 的add() 方法的返回值。然而,在这里该方法返回一个布尔 类型值,并且被忽略了。

为了定位快速修复建议,移至重构菜单。Eclipse 中很多重构与 Java 5 中的泛型直接相关。“Infer Generic Type Arguments”重构将给列表增加泛型支持。第一个对话框允许您选择 选项。

图 5. Infer Generic Type Arguments choices 对话框

第一个选项与一个结论相关,这个结论是 clone() 方法将返回接收者 类型而不是另外一个类型(相关类)。大部分功能良好的类都遵守这个规则,如 果您知道您的类不遵守这个规则,则不要选中这个选项。当第二个选项未

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号