欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中Stack的empty() 方法和isEmpty()方法

程序员文章站 2022-07-12 20:18:32
...

看Java的API结构中:

java.util
类 Stack
java.lang.Object
java.util.AbstractCollection
java.util.AbstractList
java.util.Vector
java.util.Stack

Stack 继承了 类 java.util.Vector 中的方法

java中Stack的empty() 方法和isEmpty()方法

下面是isEmpty()和empty() 的源代码:

这里是vector中的方法:
java中Stack的empty() 方法和isEmpty()方法

这里是Stack的方法:
Stack中的empty()函数会调用vector中的size()函数,再判断是否为空。

java中Stack的empty() 方法和isEmpty()方法

总结:应该是没有区别的(PS:被上次看到的帖子误导了很久)


顺便介绍一下空值,空对象,空格:

//空对象: 
String s = null; 

空对象是指定义一个对象s,但是没有给该对象分配空间,即没有实例化该对象,因此,空对象在调用所有对象方法时候都会抛出异常,如s.length(), s.isEmpty()等方法。

//空值: 
String k = ""; 

空值是指一个字符床对象已经实例化,即系统已经给该变量分配了空间,只是对象的内容为空。

//空格: 
String n = " "; 

是指一个字符对象已经实例化,对象的内容为空格。


判断
对于上述三种情况,如何判断一个字符变量属于上述类型,下面主要介绍下方法:

  • 空对象判断:

判断一个字符变量是否是null ,使用 逻辑判断 等于(==)与null对象比较,代码表达式如下:

s == null; 

注意: 空对象不能使用诸如equals(), isEmpty()等对象方法,因为它未被实例化。

  • 空值判断:

判断空值可有三种方式:
(1)equals方法比较的是两个对象的内容是否相同,可用表达语句:k.equals(“”) ;
(2) length()方法是查看某个字符串对象的字符个数,可用表达式判断:k.length() == 0 ;
(3) isEmpty()方法是判断某个字符串对象字符个数时候为0,可用表达式判断:k.isEmpty() ;

  • 空格判断:

空格内容为一个空格,虽然在输出显示时候和空值一样,都是空的,但是在系统里面的内存机制不一样的,空格字符串表示该对象的内存空间里面有内容,是空格,字符个数是1,因此,在使用如下方法时候结果如下:

n.length() 的输出值为1, n.isEmpty()输出为false。

判断语句: n.equals(” “) ;