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

有什么区别?Java泛型中的对象和对象?

甄霖
2023-03-14
问题内容

我正在使用Eclipse来帮助我清理一些代码以正确使用Java泛型。大多数时候,它在推断类型方面做得非常出色,但是在某些情况下,推断类型必须尽可能地通用:对象。但是Eclipse似乎给了我一个选择,可以选择对象类型还是“?”类型。

那么之间有什么区别:

HashMap<String, ?> hash1;

HashMap<String, Object> hash2;

问题答案:

HashMap<String, String>匹配项的实例,Map<String, ?>但不是Map<String, Object>。假设你要编写一个接受Strings到任何内容的映射的方法:如果你要编写

public void foobar(Map<String, Object> ms) {
    ...
}

你无法提供HashMap<String, String>。如果你写

public void foobar(Map<String, ?> ms) {
    ...
}

有用!

在Java泛型中有时会被误解的一件事是它List<String>不是的子类型List<Object>。(但String[]实际上是的子类型Object[],这是泛型和数组不能很好混合的原因之一。(Java中的数组是协变的,泛型不是,它们是不变的))。

示例:如果你想编写一个接受List的的的InputStreams和的子类型的方法InputStream,则可以编写

public void foobar(List<? extends InputStream> ms) {
    ...
}


 类似资料:
  • 问题内容: 我正在使用Eclipse来帮助我清理一些代码以正确使用Java泛型。大多数时候,它在推断类型方面做得非常出色,但是在某些情况下,推断类型必须尽可能地通用:对象。但是Eclipse似乎给了我一个选择,可以选择对象类型还是“?”类型。 那么两者之间有什么区别? 和 问题答案: 匹配项的实例,但不是。假设您要编写一个接受Strings到任何内容的映射的方法:如果您要编写 您无法提供。如果你写

  • 问题内容: 我有类GUI,因此可以创建如下对象: 和像这样的参考变量: 现在,据我所知,g2是引用GUI类的引用变量,而g1是GUI类的对象。g1和g2有什么区别?我可以将GUI类的属性与对象一起使用,但是g2的可能用法是什么? 问题答案: 参考是名称。对象就是东西。您可以为事物使用不同的名称,即使对于实际上不存在的事物也可以使用不同的名称。 您可以声明名称,而无需实际给它们任何“真实的”含义,例

  • 问题内容: 谁能举例说明Javascript对象和JSON对象之间的区别? 问题答案: Javascript 对象 是Javascript 中的数据类型-仅在Javascript中才有意义。通常,您会看到这样的Javascript 对象文字 : JSON 字符串 是一种数据交换格式,它只不过是一串以特定方式格式化的字符(为了使不同的程序相互通信)。因此,它可以存在于Javascript或其他语言中

  • 本文向大家介绍window对象和document对象有什么区别?相关面试题,主要包含被问及window对象和document对象有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 document对象是window对象的一部分 document是用来操作dom元素的 window对象当你打开浏览器时就被创建,这个浏览器的所有东西都是window对象属性

  • 本文向大家介绍json和对象有什么区别?相关面试题,主要包含被问及json和对象有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 JSON 是对象,但对象不一定是 JSON。 对象是由属性和属性值组成,也就是 KEY->VALUE 对。 对象中的 value 可以是任意的数据类型,包括函数。而 JSON 中的 value 不能为函数。

  • 问题内容: 我是一个自学成才的python用户(有点。)。我读了很多书,以加深我对python的了解。今天 我遇到一条文字: 类和对象 所以我想知道python中的对象和类之间有什么区别。我教过所有类都是对象,但是在那种情况下,作者不会使用短语“类和对象”。我很困惑… 问题答案: 这是面向对象编程中两个紧密相关的术语。标准含义是 对象 是 类 的实例。