RangeError (RangeError (index): Invalid value: Valid value range is empty: -1)
RangeError (RangeError (index): Invalid value: Valid value range is empty: -1)
class Stack<T> {
final List<T> _items = [];
//_items declared as Private
void push(T item) => _items.add(item);
T pop() => _items.removeLast();
@override
String toString() => _items.toString();
}
void main() {
final stack = Stack<int>();
stack.push(1);
stack.push(2);
print(stack.pop());
print(stack.pop());
final names = Stack<String>();
names.push('Adam');
names.push('Rose');
print(stack.pop());
}
使用 'stack.pop()' 方法的打印命令不打印名称值,就像它使用 int 值一样,我该如何解决这个问题?
你需要做 names.pop() 而不是 stack.pop()
class Stack<T> {
final List<T> _items = [];
//_items declared as Private
void push(T item) => _items.add(item);
T pop() => _items.removeLast();
@override
String toString() => _items.toString();
}
void main() {
final stack = Stack<int>();
stack.push(1);
stack.push(2);
print(stack.pop());
print(stack.pop());
final names = Stack<String>();
names.push('Adam');
names.push('Rose');
print(stack.pop());
}
使用 'stack.pop()' 方法的打印命令不打印名称值,就像它使用 int 值一样,我该如何解决这个问题?
你需要做 names.pop() 而不是 stack.pop()