当前位置: 首页 > 知识库问答 >
问题:

和[重复]之间的差异

禄光霁
2023-03-14

我注意到以下代码在netbeans中是完全合法的:

HashSet<String> hashSet = new HashSet<>();

然而eclipse对此并不满意,我必须这样初始化它:

HashSet<String> hashSet = new HashSet<String>();
// or
HashSet<String> hashSet = new HashSet();

有趣的是netbean建议不要在初始化部分指定类型参数,而是使用菱形运算符??我想知道这两种方法之间的区别。以及应该使用哪一种,这样代码就可以在不同的IDE中使用而不会有任何变化。

共有3个答案

叶晋
2023-03-14
List<Integer> list=new ArrayList<>();

在本例中,类型在声明中是明确的。从java 1.7及以后有效。将IDE设置为正确的版本(或maven项目)。

益思博
2023-03-14

Java7的泛型类型推断

从Oracle的文档中:

您可以用一组空的类型参数

地图

在JavaSE7中,可以用一组空的类型参数替换构造函数的参数化类型(

地图

请注意,要在泛型类实例化期间利用自动类型推断,必须指定菱形。在下面的示例中,编译器生成未经检查的转换警告,因为HashMap()构造函数引用的是HashMap原始类型,而不是映射

地图

杨良平
2023-03-14

钻石

List<String> list = new List<>();

这样做需要编译器“聪明”,并弄清楚你真正的意思是:

List<String> list = new List<String>();

这就是为什么泛型最初出现在Java5中时它不存在的原因。它后来在Java7中作为语法糖添加。

 类似资料:
  • 我想知道更多处理数组的numpy。我发现a[:,None]和a[:,]之间是不同的。我想深入研究何时何地使用它们。 我试图以特殊的方式解决从2d数组中减去1d的问题,就像numpy-subtract-add-1d-array-from-2d-array一样,我意识到a[:,None]和a[:,]是不同的。 有人能给我关于它的官方或具体参考吗?我真的会很感激你的!

  • 发送表单数据时使用命令名称和模型属性有什么区别? 和 我应该在哪个时间点使用它们中的任何一个?

  • 可能重复: 何时使用LinkedList 我应该什么时候使用arrayList,什么时候使用LinkedList? 什么时候应该使用,和?

  • 我是Java和静态编程语言的新手。 最近当我在学习静态编程语言的时候读了一个教程。 我发现有一些让我困惑。 、和

  • 我们如何将下面的代码转换为工厂而不是服务 在这两个方面,工厂和服务的更好实施方式是什么,请提出建议。我是AngularJs的新手,所以请帮我解决这个问题

  • 在我们的系统中,我们有一种设置用户权限的方法。他们创建一个组名,例如Admin,然后为他们想要执行的任务分配所有权限。 例如,他们可以添加AddCompany、ViewCompany、DeleteCompany和EditCompany 这使得创建不同的权限组变得非常容易,并且我们可以非常容易地控制安全性。 在这个实例中,组名=角色,每个权限都是一个声明,我这样想对吗?