java泛型重要吗? 请大家指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果经常使用java的集合类框架的话,非常重要。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。 泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。 java泛型的理论深,必不是单纯的泛化类型而以,通过java内部机制实现了拓展java的“多态”原则。单看java泛型理论或实际操作没多大用(实际的说就是多了一个"<>")。java内部类,java泛型,java设计模式要结合在一起看,一定会事半功倍。在你阅读泛型理论时,希望能起到指导做用。6楼说的是对的,我赞成。希望能多讲一点。 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。 泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。public class Hehe<T> { private T ob; //定义泛型成员变量 public Hehe(T ob) { this.ob = ob; } public T getOb() { return ob; } public void setOb(T ob) { this.ob = ob; } public void showTyep() { System.out.println("T的实际类型是: " + ob.getClass().getName()); }}public class GenDemo { public static void main(String[] args){ //定义泛型类Gen的一个Integer类型 Hehe<Integer> intOb=new Hehe<Integer>(88); intOb.showTyep(); int i= intOb.getOb(); System.out.println("value= " + i); System.out.println("----------------------------------"); //定义泛型类Gen的一个String类型 Hehe<String> strOb=new Hehe<String>("Hello boy!"); strOb.showTyep(); String s=strOb.getOb(); System.out.println("value= " + s);}} 我用了10多年的vector,从来没出过类型转换错误 Vector类同样继承自AbstractList抽象类,现在也支持泛型,不同点是Vector是同步的。另外,Vector类似乎不能代替Map吧。话说,似乎有点跑题,这里在讨论泛型是否重要,与选用何种容器类无关,因为现在所有的基础容器类都支持泛型了。 swing怎么判断文本框没有输入内容 java的Applet怎样连接到数据库? 数组长度问题 请各位大虾举一个经典的使用继承例子!! 一个困扰我很久的问题 如果我在子类中重写基类构造函数中调用的方法的问题 请问java在c++里注册的回调函数每调用一次都会重启虚拟机一次吗? jocky代码加密遇见的问题,希望有高手指点,谢谢 简单问题--关于Color对象的使用 java程序能够被反编译,如何保护自己的源码呢? 如何比较两个字符串 SH的问题,大家来帮忙看看
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
java内部类,java泛型,java设计模式要结合在一起看,一定会事半功倍。在你阅读泛型理论时,希望能起到指导做用。
6楼说的是对的,我赞成。希望能多讲一点。
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
public class Hehe<T> {
private T ob; //定义泛型成员变量
public Hehe(T ob) {
this.ob = ob;
}
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public void showTyep() {
System.out.println("T的实际类型是: " + ob.getClass().getName());
}
}
public class GenDemo {
public static void main(String[] args){
//定义泛型类Gen的一个Integer类型
Hehe<Integer> intOb=new Hehe<Integer>(88);
intOb.showTyep();
int i= intOb.getOb();
System.out.println("value= " + i);
System.out.println("----------------------------------");
//定义泛型类Gen的一个String类型
Hehe<String> strOb=new Hehe<String>("Hello boy!");
strOb.showTyep();
String s=strOb.getOb();
System.out.println("value= " + s);
}
}
Vector类同样继承自AbstractList抽象类,现在也支持泛型,不同点是Vector是同步的。
另外,Vector类似乎不能代替Map吧。话说,似乎有点跑题,这里在讨论泛型是否重要,与选用何种容器类无关,因为现在所有的基础容器类都支持泛型了。