如何在java中定义char堆栈?例如,要创建一个字符串堆栈,我可以使用这样的结构:
Stack <String> stack= new Stack <String> ();
但是当我尝试使用char而不是String时,我得到了一个错误:
Syntax error on token "char", Dimensions expected after this token
发布于 2012-01-06 01:03:15
使用char集合的效率非常低。(但它可以工作)您可以包装一个StringBuilder,它也是一个可变的char集合。
class CharStack {
final StringBuilder sb = new StringBuilder();
public void push(char ch) {
sb.append(ch);
}
public char pop() {
int last = sb.length() -1;
char ch= sb.charAt(last);
sb.setLength(last);
return ch;
}
public int size() {
return sb.length();
}
}
发布于 2012-01-06 00:58:54
诸如char
之类的基本类型不能用作Java语言中的类型参数。您需要使用包装器类型:
Stack<Character> stack = new Stack<Character>();
发布于 2012-01-06 00:59:28
char
是Java语言which cannot be used in generics中的原始数据类型之一。但是,您可以替换包装器java.lang.Character
,如下所示:
Stack<Character> stack = new Stack<Character>();
您可以将Character
赋值给char
,反之亦然;Java将为您autobox该值。
https://stackoverflow.com/questions/8746428
复制相似问题