相关疑难解决方法(0)

为什么在泛型类(Java)的构造函数中提供类型参数是错误的?

我只是从一本教科书中学习Java中的泛型,在那里它讨论了GenericStack<E>用一个实现的类ArrayList<E>.

因为为了创建一个字符串堆栈,您可以使用

GenericStack<String> = new GenericStack<String>()
Run Code Online (Sandbox Code Playgroud)

要么

GenericStack<String> new GenericStack<>()
Run Code Online (Sandbox Code Playgroud)

因此,不应该将构造函数 GenericStack定义为public GenericStack<E>(),或public GenericStack<>()?答案是不.它应该被定义为public GenericStack().

为什么是这样?显然,构造函数可以很容易地从类声明中推断出类型,但考虑到Java的冗长,我有点迷惑为什么<E>或者只是<>形式主义完全摆脱了这里.

java oop generics syntax constructor

2
推荐指数
1
解决办法
252
查看次数

标签 统计

constructor ×1

generics ×1

java ×1

oop ×1

syntax ×1