java 栈的isEmpty()和empty()有什么区别?

Stack<String> stack = new Stack<String>();
stack.isEmpty()和stack.empty()有什么区别?

isEmpty是从Vector继承的。 两个方法的用途是一样的。

Stack继承Vector是典型的滥用继承的做法。

Stack的文档推荐使用 Deque ,而不是 Stack
Stack Method
Equivalent Deque Method

push(e)
addFirst(e)

pop()
removeFirst()

peek()
peekFirst()
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-14
查api文档,你会发现Stack只有empty()方法,没有isEmpty()。
第2个回答  推荐于2017-09-26
IsEmpty 函数
返回 Boolean 值指明变量是否已初始化。主要判断变量是否被初始化!!!
IsEmpty(expression)
expression 参数可以是任意表达式。然而,由于 IsEmpty 用于判断一个变量是否已初始化,故 expression 参数经常是一个变量名。
说明
如果变量未初始化或显式地设置为 Empty,则函数 IsEmpty 返回 True;否则函数返回 False。如果 expression 包含一个以上的变量,总返回 False。
下面的示例利用 IsEmpty 函数决定变量是否能被初始化:
Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar) ' 返回 True。
MyVar = Null ' 赋为 Null。
MyCheck = IsEmpty(MyVar) ' 返回 False。
MyVar = Empty ' 赋为 Empty。
MyCheck = IsEmpty(MyVar) ' 返回 True。
-------------------------------------------------
IsEmpty 函数
返回 Boolean 值指明变量是否已初始化。主要判断变量是否被初始化!!!
IsEmpty(expression)
expression 参数可以是任意表达式。然而,由于 IsEmpty 用于判断一个变量是否已初始化,故 expression 参数经常是一个变量名。
说明
如果变量未初始化或显式地设置为 Empty,则函数 IsEmpty 返回 True;否则函数返回 False。如果 expression 包含一个以上的变量,总返回 False。
下面的示例利用 IsEmpty 函数决定变量是否能被初始化:
Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar) ' 返回 True。
MyVar = Null ' 赋为 Null。
MyCheck = IsEmpty(MyVar) ' 返回 False。
MyVar = Empty ' 赋为 Empty。
MyCheck = IsEmpty(MyVar) ' 返回 True。
相似回答