`
icyheart
  • 浏览: 779750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中空串""与null的区别

    博客分类:
  • J2SE
阅读更多
问题:很容易对java中的""(空串)和null造成混淆,现做以下澄清:
 
比如声明一个 String str ;
如果说str是null,那么内存根本没创建字符串对像,并由str引用。
如果说str是空串,那么确实存在一个由str引用的字符串对像,只不过这个字符串的值是""
 
null用来表示一个引用没有实例存在,而""本身是一个实例,有自己的对象空间,和"zzyyxx"这样的String没什么区别。两个都是有值 !!!
 
 
其次需要注意,当oracle 字段里面的值为空时,从oracle读出来的是字符串"null"(可能是程序读出来的时,将空对象转换成为了字符串“null”)。
 
还有URL得参数时如:oylin.jsp?id=<%=id%>,当id为空对象是,有可能也将空对象转换成为了字符串“null”,在写程序的时候要多加注意。
 
其实是request.getParameter(username),也许可能会出现这类情况,还有待进一步了解,暂时留个记号
分享到:
评论

相关推荐

    Java String转换时为null的解决方法

    并不是obj的实际字符串表示,同时还必须保证对象obj不能为null,否者调用toString方法会报空指针异常java.lang.NullPointerException。 String.valueOf方法 第三种方法是使用String.valueOf方法,对象obj为null,...

    java生成二维码两种方式(一种中间带logo,一种不带)源码

    在Java编程语言中,生成二维码主要有两种方法:一种是生成带有logo的二维码,另一种是生成不带logo的纯二维码。这两种方法都需要利用到特定的库,如ZXing(Zebra Crossing)或者Java QRCode生成器。下面将详细介绍这...

    spring boot 下对JSON返回值去除null和空字段操作

    在上面的代码中,我们可以看到,通过`setSerializationInclusion(JsonInclude.Include.NON_EMPTY)`可以配置Jackson只序列化非空的字段,而`setNullValueSerializer`方法则用于将`null`值转换为一个空字符串`""`。...

    JAVA学习视频之Java8面向对象编程(3)

    为了解决Java中空指针异常(NullPointerException)的问题,Java8引入了`Optional&lt;T&gt;`类。Optional是一个容器对象,可能包含或者不包含非null值。如果值存在则isPresent()返回true,调用get()会返回该对象。这样...

    由@NotNull注解引出的关于Java空指针的控制

    例如,在使用Spring框架时,它可以与参数校验一起工作,如果传入的参数为null,将抛出异常。这样做有助于在编译阶段或运行时捕获潜在的问题,而不是在运行应用程序时才暴露出来。 2. **谨慎使用`equals()`和`==`**...

    java 代码中预防空指针异常的处理办法

    以下是一些预防Java代码中空指针异常的处理方法: 1. **非空检查**: - 当接收到外部接口返回的对象时,应进行非空检查。例如,如果一个方法返回了一个Collection或Map,使用Apache Commons Lang的`...

    编程语言1

    - Objective-C使用nil表示null,调用nil方法不会抛出异常,而Java中空指针操作会导致`NullPointerException`。 - Objective-C的类方法只能由类自身调用,对象调用会出错,Java中则是警告。 - 访问修饰符在Java中...

    jdk1.8源码

    另外,`Optional`类的引入解决了Java中空指针异常的问题。`Optional`作为一个容器对象,可以表示一个值存在或不存在,这样可以更安全地处理null值,减少编程错误。 JDK1.8的源码分析对于深入理解Java语言的运行机制...

    kotlin for Android

    变量和属性在Kotlin中的处理方式也与Java有较大区别,Kotlin提供了基本类型的变量处理,以及对集合和函数操作符的简洁定义。 Anko是Kotlin的一个库,它允许我们以更简洁的方式编写Android代码。通过Anko,我们能够...

    JSP应用开发-项目开发中常见问题处理.pptx

    在JSP应用开发中,经常会遇到各种问题,本节主要关注的是项目开发中常见的问题处理,包括空指针错误的处理、请求转发与重定向的区别以及数据保存的策略。 首先,我们来讨论JSP开发中空指针错误的处理。空指针异常...

    2021-2022计算机二级等级考试试题及答案No.15664.docx

    - **内容详解**:在Java中,`java.lang.Runtime`类提供了一系列方法来与运行时环境进行交互,如执行系统命令等。要获取`Runtime`类的实例,可以调用其静态方法`getRuntime()`。 ### 11. 存储器类型 - **知识点**:...

    Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式

    这包括处理可能存在的空格,因为URL中空格通常会被转换为"+"字符,或者使用"%20"进行编码。例如,用户输入的"\alpha"表达式需要转换为"http://latex.codecogs.com/gif.latex?\alpha"的URL格式。在Android应用中,...

Global site tag (gtag.js) - Google Analytics