isEmpty和null以及""的区别
isEmpty和null的区别:
1.一个是对象为空(IsNull),一个是值为空(IsEmpty)
2.IsNull指任务类型变量是否为空包括对象类型的变量。
IsNull函数:
功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。
3.IsEmpty函数:
功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则函数返回False。
- /**
- *
- */
- package JavaTest;
- /**
- * @author wxwevenpc
- * @version 1.0 2012-11-25
- */
- public class TestNull {
- /**
- * @param args
- */
- public static void main(String[] args) {
- String a = new String();
- String b = "";
- String c = null;
- if(a.isEmpty())
- {
- System.out.println("String a = new String");
- }
- if(b.isEmpty())
- {
- System.out.println("String b = \"\"");
- }
- if(c==null)
- {
- System.out.println("String c =null");
- }
- if(null == a) {
- System.out.println("String a =null");
- }
- if(a=="")
- {
- System.out.println("a = ''");
- }
- }
- }
以上输出:
- String a = new String
- String b = ""
- String c =null
分析:
- 此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已)
- 此时b是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串)
- 此时c是未分配内存空间,无值,是一种无值(值不存在)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java基础19:Java集合框架梳理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/80215706 微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源) 本文介绍了Java集合类的基本框架,接口结构以及部分源码分析,并且通过自己实现一些集合类来更好地剖析Java集合类的整体结构。 本文只是对集合类框架进行一个大概的梳理,毕竟集合框架中包含的类太多了,一篇文章不可能讲完,这里先开一个头,对整体框架有一个清晰认识之后,再去探索各个接口实现类的奥秘。 后面会专门地写几篇关于集合类的文章,分别介绍一下List,Map,Set以及Stack等等这些接口的实现类,敬请期待。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 喜欢的话麻烦...
- 下一篇
以太坊智能合约虚拟机(EVM)原理与实现
以太坊 EVM原理与实现 以太坊底层通过EVM模块支持合约的执行与调用,调用时根据合约地址获取到代码,生成环境后载入到EVM中运行。通常智能合约的开发流程是用solidlity编写逻辑代码,再通过编译器编译元数据,最后再发布到以太坊上。 代码结构 . ├── analysis.go //跳转目标判定 ├── common.go ├── contract.go //合约数据结构 ├── contracts.go //预编译好的合约 ├── errors.go ├── evm.go //执行器 对外提供一些外部接口 ├── gas.go //call gas花费计算 一级指令耗费gas级别 ├── gas_table.go //指令耗费计算函数表 ├── gen_structlog.go ├── instructions.go //指令操作 ├── interface.go ├── interpreter.go //解释器 调用核心 ├── intpool.go //int值池 ├── int_pool_verifier_empty.go ├── int_pool_verifier.go ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19