java 栈的isEmpty()和empty()的区别
public synchronized boolean isEmpty() {
return elementCount == 0;
}
public synchronized int size() {
return elementCount;
}
public boolean empty() {
return size() == 0;
}
从源码来说两者使用上没什么区别
但是在Java中,isEmpty()可以判断一个顺序容器里面是否有元素,如果有的话返回一个Boolean类型的值false,否则返回true。
Empty()可以判断一个顺序容器里面是否有元素,如果有的话返回一个Boolean类型的值false,否则返回true。
import java.util.Stack;
public class test {
public static void main(String[] args)
{
Stack<String> stack = new Stack<>();
System.out.println(stack.empty()); //打印出true
System.out.println(stack.isEmpty()); //打印出true
stack.push("a");
System.out.print(stack.empty()); //打印出false
System.out.println(stack.isEmpty()); //打印出false
}
}
字符串中只有isEmpty()方法,而栈中两种方法均可以实现