0

这不是错误,我只是不喜欢在 Eclipse 中显示警告。

Stack is a raw type. References to generic type Stack<E> should be parameterized

我知道我可以通过将类 Character 提供为 E 来修复它,但是由于我将使用.charAt,因此我宁愿简单地使用<char>,因为这是charAt返回的类型。有没有办法让我使用 char 作为参数,如果没有,我会遇到转换问题<Character>吗?

4

2 回答 2

1

您必须使用Character而不是使用的原因char是 Java 中的泛型类型参数不能是原始类型。没有办法解决这个问题。如果你想使用标准的 Java 集合框架,你只需要忍受这个。

就警告而言:

  • 它们是警告,可以被压制。您可以在源代码中执行此操作(通过使用@SuppressWarning注释),或通过更改 Eclipse Java 编译器首选项。

  • 总是可以编写一个通用的等价于任何原始类型的使用。

于 2013-10-07T05:35:00.353 回答
0

您不能用原始类型实例化泛型类型。详情请参阅此处

你可以使用Character类。要获取原始数据类型,您始终可以在类中使用charValue()方法Character

于 2013-10-07T05:36:30.063 回答