这不是错误,我只是不喜欢在Eclipse中显示警告。
Stack is a raw type. References to generic type Stack<E> should be parameterized
我知道我可以通过提供类字符E来修复它,但由于我将使用.charAt
,我宁愿简单地使用<char>
,因为那是类型charAt
回报。有没有办法让我使用char作为参数,如果没有,我会使用<Character>
遇到投射问题吗?
答案 0 :(得分:1)
您必须使用Character
而不是char
的原因是Java中的泛型类型参数不能是原始类型。没有办法解决这个问题。如果你想使用标准的Java集合框架,你只需要忍受这个。
就警告而言:
它们是警告,可以被抑制。您可以在源代码中(通过使用@SuppressWarning
注释)或通过更改Eclipse Java编译器首选项来执行此操作。
始终可以写出与原始类型的任何用法相对应的通用等效项。
答案 1 :(得分:0)
您无法使用原始类型实例化通用类型。有关详细信息,请参阅here。
您可以使用Character
课程。要获取原始数据类型,您始终可以在Character
类中使用charValue()方法。