`
dandy
  • 浏览: 67270 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java泛型方法的使用

    博客分类:
  • java
阅读更多
这俩天把泛型认真的看了看,对于泛型方法还是不太明白。
用泛型方法有什么好处,在什么情况下使用,比如:
public <T> void fromArrayToCollection(T[] a, Collection<T> c){
		for(T t : a){
			c.add(t);
		}
	}


public void fromArrayToCollection(T[] a, Collection<T> c){
		for(T t : a){
			c.add(t);
		}
	}

上面的俩个方法没看出在使用上有什么差别,抑或是这样用根本就不对,迷惘中!
分享到:
评论
9 楼 sunwang810812 2011-11-29  

这两个方法都对,只不过我个人觉得,泛型方法的主要目的是为了
public <U extends Number> void inspect(U u){ 才有的,即传入方法的类型必须是一个限定类型

如果没有什么限定的话,构不构造这个泛型方法我觉得都行
8 楼 a596620989 2011-07-13  
第二个方法是不能通过编译的,会报T can't be resolved to a type
<T>是类型参数列表声明,表示你这个方法使用了泛型T,跟class里面
如class tpye<T>是一样的,只不过位置不一样罢了
7 楼 bannamoon 2010-08-03  
两个方法当然有区别了。当你需要应用泛型规则的时候。第二个方法就没办法用了。
6 楼 dandy 2009-02-16  
我试过俩个方法都对.
5 楼 angelox 2009-02-14  
dandy 写道
这俩天把泛型认真的看了看,对于泛型方法还是不太明白。
用泛型方法有什么好处,在什么情况下使用,比如:
public <T> void fromArrayToCollection(T[] a, Collection<T> c){
		for(T t : a){
			c.add(t);
		}
	}


public void fromArrayToCollection(T[] a, Collection<T> c){
		for(T t : a){
			c.add(t);
		}
	}

上面的俩个方法没看出在使用上有什么差别,抑或是这样用根本就不对,迷惘中!



这样就都对了
class Test {
        public <T> void fromArrayToCollection(T[] a, Collection<T> c){
		for(T t : a){
			c.add(t);
		}
	}
}

class Test<T> {
        public void fromArrayToCollection(T[] a, Collection<T> c){
		for(T t : a){
			c.add(t);
		}
	}
}
4 楼 liufeng820 2009-02-14  
不建议刚学习 java 的朋友过多的在泛型上花功夫...

2年以内开发经验的..最好还是先向上转型.向下转型上用些功夫..

比直接就用泛型的要好的..
3 楼 kernaling.wong 2009-02-14  
public <T> void fromArrayToCollection

第一个明明是void怎么会这样返回一个值呢?
2 楼 大猫汤姆 2009-02-14  
用泛型可以把弱类型转为强类型,这样会更安全.
第一个根本就不对.
1 楼 jltest 2009-02-13  
第2个例子根本就不对吧。现在没机子不能试。



相关推荐

    java 泛型方法使用示例

    下面我们将深入探讨Java泛型方法的概念、语法以及使用示例。 **一、泛型方法概念** 泛型方法是一种具有类型参数的方法,这些类型参数可以在方法声明时指定,并在方法体内部使用。与类的泛型类似,它们提供了编译时...

    JAVA泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...

    Java泛型应用实例

    Java泛型是Java编程语言中的一个强大特性,它允许我们在定义类、接口和方法时指定类型参数,从而实现代码的重用和类型安全。在Java泛型应用实例中,我们可以看到泛型如何帮助我们提高代码的灵活性和效率,减少运行时...

    Java泛型三篇文章,让你彻底理解泛型(super ,extend等区别)

    Java 泛型详解 Java 泛型是 Java SE 5.0 中引入的一项特征,它允许程序员在编译时检查类型安全,从而减少了 runtime 错误...通过了解 Java 泛型的基本概念和关键字,我们可以更好地使用泛型来提高代码的质量和可读性。

    Java泛型的用法及T.class的获取过程解析

    Java泛型的用法及T.class的获取过程解析 Java泛型是Java编程语言中的一种重要特性,它允许开发者在编写代码时指定类型参数,从而提高代码的灵活性和可读性。本文将详细介绍Java泛型的用法 及T.class的获取过程解析...

    Java泛型使用详细分析.pdf

    Java 泛型使用详细分析 Java 泛型是 Java 语言中的一种类型系统特性,允许开发者在编译期检查类型安全,以避免在运行时出现类型相关的错误。在本文中,我们将详细介绍 Java 泛型的使用方法和实现原理。 一、泛型的...

    java泛型的使用

    Java泛型是Java编程语言中的一个关键特性,它在2004年随着JDK 5.0的发布被引入,极大地增强了代码的类型安全性和重用性。本压缩包包含了一些关于Java泛型的实例,旨在帮助学习者深入理解和应用这一特性。 泛型的...

    很好的Java泛型的总结

    Java泛型机制详解 Java泛型是Java语言中的一种机制,用于在编译期检查类型安全。Java泛型的出现解决了Java早期版本中类型安全检查的缺陷。Java泛型的好处是可以在编译期检查类型安全,避免了运行时的...

    java 泛型的使用 详细讲解

    ### Java泛型的使用详细讲解 #### 一、引言 在Java开发中,泛型是一种重要的语言特性,它能够帮助开发者在不增加代码量的情况下处理多种数据类型,同时还能保持代码的清晰度和可读性。本文将详细介绍Java泛型的...

    java泛型技术之发展

    - **早期版本的局限**:在Java泛型出现之前,程序员通常使用Object作为容器类(如ArrayList、HashMap等)的默认类型,这导致了大量的类型转换操作,同时也容易引发ClassCastException。 - **类型擦除**:Java泛型...

    Java 泛型擦除后的三种补救方法

    这种方法的优点是简洁,可以直接使用泛型方法。但是,它的局限性在于只能通过默认构造器创建对象,如果目标类没有默认构造器,就会导致异常。此外,这种模式缺乏扩展性,无法适应复杂的对象创建需求。 2. **工厂...

    java 泛型类的类型识别示例

    综上所述,虽然Java泛型在编译后会进行类型擦除,但通过上述技巧,我们仍然能够在运行时获得关于泛型类实例化类型的一些信息。在实际开发中,这些方法可以帮助我们编写更加灵活和安全的代码。在示例文件`GenericRTTI...

    java泛型的内部原理及更深应用

    Java泛型是Java编程语言中的一个强大特性,它允许在定义类、接口和方法时使用类型参数,从而实现参数化类型。这使得代码更加安全、可读性更强,并且能够减少类型转换的必要。在“java泛型的内部原理及更深应用”这个...

    java 泛型接口示例

    综上所述,Java泛型接口提供了强大的类型安全性,允许我们在接口中定义通用的方法,并在实现时指定具体的类型。通过类型参数约束、通配符、类型擦除和类型推断等机制,我们可以灵活地设计和使用泛型接口,提高代码的...

    1.java泛型定义.zip

    1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1....

Global site tag (gtag.js) - Google Analytics