Java泛型基础

标签 java generics

我正在学习使用泛型类型的 Java 编程,并且遇到了一个可能非常基本的问题。

另外两个片段之间的区别在哪里?

1.)

public void build(House house) {
    // work only with house objects that extending House
}

2.)

public <T extends House> void build(T house) {
    // work only with house objects that extending House
}

最佳答案

这两种方法在可以接受的参数方面没有区别;但是,在后一个示例中,确实可以访问特定类型 T .无论如何,这个例子并没有说明泛型的力量。

例如考虑一个 LinkedListNode<T>对象。我们可以定义一个包装器,Node<T> ,它可以容纳任何类型的对象。这是一个非常有用的结构,因为它允许我们编写一段代码,可用于许多不同的对象。

关于Java泛型基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19954865/

相关文章:

java - 如何用这个正则表达式拆分字符串?

java - 抽象数据类型,按列表中的特定变量对对象进行排序

java - 从 Collection/Map 获取参数化数组

generics - 如何在 swift 中编写通用工厂方法?

java - 如何修复此 java.util.Scanner.next,引发 java.util.NoSuchElementException

java - 如何优化我的 JOGL 应用程序?

c# - 强类型通用属性替代方案

java - 对将父方法映射到不同类的子类进行相同的删除

java - 将相同项目添加到其他实体时,Spring JPA 实体会丢失数据

java - 有没有办法通过哈希码检索 jvm 对象