错误,我只是不喜欢在Eclipse中显示警告。
Stack is a raw type. References to generic type Stack<E> should be parameterized
我知道我可以通过提供类 Character 作为 E 来修复它,但由于我将使用 .charAt
,我宁愿简单地使用 <char>
,因为这是返回的类型charAt
。有没有办法让我使用 char 作为参数,如果没有,我会在使用 <Character>
时遇到转换问题吗?
您必须使用 Character
而不是char
的原因是 Java 中的泛型类型参数不能是基元类型。 这是没有办法的。 如果你想使用标准的Java集合框架,你只需要忍受这个。
就警告而言:
-
它们是警告,可以禁止显示。 您可以在源代码中执行此操作(通过使用
@SuppressWarning
注释),或者通过更改 Eclipse Java 编译器首选项来执行此操作。 -
始终可以编写与原始类型的任何用法等效的泛型。
不能使用基元类型实例化泛型类型。详情请参考此处。
您可以使用Character
类。要获取基元数据类型,您始终可以在Character
类中使用 charValue() 方法。