当前位置: 首页 > 面试题库 >

Java泛型中有联盟吗?

岳劲
2023-03-14
问题内容

集合中可以包含两种不同的类型吗?例如,我可以使用List 吗?


问题答案:

简短的答案?号你可以(当然)拥有ListObjects,但你可以把 任何东西 在里面,不只是StringInteger对象。

您可以创建一个容器对象列表,并且该容器对象将包含Integeror或String(可能通过泛型)。多一点麻烦。

public class Contained<T> {
   T getContained();
}

并实施Contained<Integer>Contained<String>

当然, 真正的
问题是为什么要这样做?我希望集合包含相同类型的对象,然后我可以遍历这些对象并对其执行操作,而不必担心它们是什么。也许您的对象层次结构需要进一步考虑?



 类似资料:
  • 问题内容: 在C#中,我实际上可以这样做: 但是由于某种原因,我无法使其在Java中工作。 我要做的是在超类上创建一个静态方法,以便可以将子类转换为XML。 问题答案: 称为: 或更明确地: 更令人困惑的是,您可以拥有既构造泛型类型又具有泛型参数的构造函数。不记得该语法,也从未在愤怒中使用过它(无论如何,最好还是使用静态创建方法)。 强制转换是不安全的,并且您不能编写T.class。因此,将T.c

  • “关联项”(associted items)是指一系列有关各种变量类型的 item(项) 的规则。它是 trait 泛型的扩展(extension),允许 trait 在内部定义新的项。 关联类型(associated type)就是这种项的其中一个。当 trait 在其容器类型(container type)上是泛型时,关联类型提供了更简单的使用模式。(原文:One such item is c

  • 问题内容: 我有一个代表文本片段的泛型类。该文本片段可能具有多种不同模式(突出显示的不同类型)中的任何一种。这些模式用枚举表示。每个项目的Enum可能不同,但是它必须实现一个接口,该接口提供了一种将其中两个结合的方法(可以突出显示并加粗显示)。所以我有一个界面: 然后我的TextFragment是文本字符串和模式的容器。但是当我尝试声明该类时: 我收到以下错误: 令牌“扩展”的语法错误,预期 根据

  • 旨在帮助世界各地的组织和个人协作创建 IBM Lotus Notes/Domino 应用程序,并将它们发布为开源软件” —— 这是来自 OpenNTF 的任务说明。 OpenNTF 是 IBM® Lotus Notes® 和 Lotus® Domino® 社区成员在 2002 年发起的。从此之后,60,000 名用户注册了 OpenNTF,并开始下载代码。其中涵盖 250 多个开源项目和 800

  • 问题内容: 如果在Java中创建泛型类(该类具有泛型类型参数),则可以使用泛型方法(该方法带有泛型类型参数)吗? 考虑以下示例: 正如您对通用方法所期望的那样,我可以使用任何对象调用的实例: 但是,如果我尝试使用 不 指定泛型类型的实例,则无论传入什么,我都会调用返回, 奇怪的是,如果返回类型是通用类,它将编译(例如(实际上,这可以解释-参见下面的答案)): 此外,如果输入通用类,即使仅使用通配符

  • 如果在Java中创建泛型类(该类具有泛型类型参数),是否可以使用泛型方法(该方法采用泛型类型参数)? 考虑下面的例子: 正如您所期望的那样,对于任何对象,的实例,我都可以调用: 但是,如果我试图使用的实例而不指定泛型类型,那么调用将返回一个