网站首页 > 精选教程 正文
原文
3.6.5 空串与 Null 串
空串”” 是长度为0的字符串。可以调用以下代码检查一个字符串是否为空
if(str.length() == 0) 或 if(str.equals(””))
空串是一个Java对象,有自己的串长度(0)和内容(空)。不过String 变量还可以存放一个特殊的值,名为 null,表示目前没有任何对象与该变量关联(关于null的更多信息请参见第4章)。要检查一个字符串是否为null,可以使用以下代码:
if(str == null)
有时要检查一个字符串既不是null也不是空串,这种情况可以使用
if(str != null && str.length() !=0)
首先要检查str 不为 null,在第4章会看到,如果在一个null 值上调用方法,会出现错误。
个人补充
null 是Java中的一种特殊值,除了8个基本数据类型(byte short int long float double boolean char)之外,任何类型的值都可以为null, 任何null 都等价(都是不存在,未初始化空间的意思)
所以 null 具有特殊的意义,表示指定对象不存在,未初始化。因此,任何值为null 的对象在尝试调用任何方法都会出现“空指针异常”
所以,在执行 str.equals 或 str.length() 等任意方法之前,需要确认 str != null.
举例来说,String str = "" ; 就好比初始化一个装苹果的盘子,盘子就是 String 类,而其内容是空的,表示盘子中没有任何东西,但可以可以调用方法,来询问,盘子是否为空,或者盘子里有几个苹果。
而 String str = null ; 则表示连盘子都没有,所以当我们尝试调用方法,询问盘子里有多少苹果时,就会出现错误,因为根本就没有盘子,出现不明意义的东西,所以 java 会报出"空指针异常"
猜你喜欢
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.3相等测试与继承
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.4 hashCode方法
- 2024-11-28 Java入门书单
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3.7 隐式参数与显式参数
- 2024-11-28 全网最完整的免费java教程讲义系列(四)——java的流程控制
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.6 对象构造 4.6.1重载
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 3.10 数组
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3 自定义类
- 2024-11-28 2019年Java核心技术我整理了200多页pdf,今天分享给你
- 2024-11-28 java 核心技术12版卷1 - 1.3 Java applet 与 Internet
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)