原始堆栈与通用堆栈<Character>


这不是

错误,我只是不喜欢在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() 方法。

最新更新