`
dalongJDK
  • 浏览: 15755 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

null和“”小记

阅读更多
   今天敲代码的时候写了一个判断的方法:
String point;
if ("".endsWith(point) || point == null) {
}

咋一看貌似没什么问题,结果报了一个空指针异常的错误,原来是空字符串和空值的顺序有问题:
再写一个测试程序:
if ("".endsWith(null))
Exception in thread "main" java.lang.NullPointerException

那就是说如果point为null的话,"".endsWith(point)就会抛出空指针异常。
把顺序改一下就可以了:
if (point == null || "".endsWith(point)){
System.out.println("空指针异常");
}
如果point为null或者point为空字符串,则打印出“空指针异常”信息。

注:null是值为空的情况,内存不分配地址,所以就会爆出了空指针异常的情况。
   “”是一串空的字符串,内存分配地址。嘿嘿。
分享到:
评论

相关推荐

    Hessian 的字段序列化小记

    本文将围绕"Hessian的字段序列化小记"这一主题,深入探讨Hessian的工作原理、序列化过程以及其在实际应用中的价值。 Hessian的目标是通过减少数据传输的体积来提高网络通信的效率。相比于XML和JSON等文本格式,...

    Sqlite数据库sqlite3命令小记.txt

    ### Sqlite数据库sqlite3命令小记 #### 一、引言 SQLite 是一款轻量级的数据库管理系统,它被广泛应用于各种应用场景中,特别是在移动设备和嵌入式系统上。SQLite 不仅支持标准的 SQL 语法,还提供了一系列实用的...

    SQL学习小记

    标题 "SQL学习小记" 暗示了这篇博客文章主要关注的是SQL语言的学习和实践。SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言。以下是对这个主题的详细探讨: SQL基础: 1. 数据类型:SQL...

    Java transient关键字使用小记

    - 在反序列化时,即使`transient`变量没有被序列化,但在反序列化后的对象中,这些变量仍然存在,只是它们的值不会被恢复,而是保持默认值(如`null`或基本类型的零值)。 - `transient`关键字不能应用于静态变量...

    c语言理论知识小记

    - `pointer`: NULL #### 指针 - **指针**:用于存储变量内存地址的数据类型。 - 每个变量都有一个确定的内存地址,通过指针可以间接访问这个地址上的内容。 通过以上内容的梳理,我们不仅了解了C语言的基本语法...

    Ant 小记

    NULL 博文链接:https://lk617238688.iteye.com/blog/781595

    android开发小记

    NULL 博文链接:https://zfwdl2005.iteye.com/blog/1308748

    VC数据库编程小记ADO访问SQL Server2005

    ### ADO 访问 SQL Server2005 的实践与经验分享 #### 一、引言 在进行 VC 数据库编程的过程中,使用 ADO(ActiveX ...这些实践经验和技巧对于从事 VC 数据库编程的开发者来说是非常宝贵的资源,希望对大家有所帮助。

    谷歌天气API-C# 代码

    HttpWebResponse GWP_Response = null; XmlDocument GWP_XMLdoc = null; try { GWP_Request = (HttpWebRequest)WebRequest.Create(string.Format(baseUrl)); GWP_Request.UserAgent = @"Mozilla/5.0 (Windows;...

Global site tag (gtag.js) - Google Analytics