首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符的ArrayDeque类

字符的ArrayDeque类
EN

Stack Overflow用户
提问于 2011-09-03 00:05:55
回答 2查看 3.1K关注 0票数 2

我正在尝试将我用C++编写的paren平衡器迁移到Java。

我尝试使用Deque接口中的ArrayDeque类来实现堆栈,方法是声明一个字符的ArrayDeque,如下所示:

Deque<char> parens = new ArrayDeque<char>();

而编译器却在它上面断言

expected: reference

found: char

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-03 00:07:35

您不能将原始类型用作泛型参数。您需要相应的对象包装器:

代码语言:javascript
复制
Deque<Character> parens = new ArrayDeque<Character>();

让我们更新我们的

类来使用泛型。我们将首先通过将代码public class Box更改为public class Box<T>来创建一个泛型类型声明;这将引入一个名为T的类型变量,它可以在类中的任何位置使用。同样的技术也可以应用于接口。关于这个概念没有什么特别复杂的。实际上,它与您对变量的一般了解非常相似。只需将T看作一种特殊类型的变量,它的“值”将是您传入的任何类型;这可以是任何类类型、任何接口类型,甚至是另一个类型变量。它不能是任何原始数据类型。在这个上下文中,我们也说T类的形式类型参数。[来源:Java Tutorial : Generics : Generic Types]

请参见:

  • Java Tutorial: Generics
  • JLS: 4.4 Type Variables
  • JLS: 4.5 Parameterized Types
票数 7
EN

Stack Overflow用户

发布于 2011-09-03 00:08:11

你需要在Java中使用ArrayDeque<Character>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7286200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档