java中空串""与null的区别

简介:
问题:很容易对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),也许可能会出现这类情况,还有待进一步了解,暂时留个记号


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/353622,如需转载请自行联系原作者
相关文章
|
2天前
|
Java
java基础(4)public class 和class的区别及注意事项
本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。
11 3
java基础(4)public class 和class的区别及注意事项
|
7天前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
|
11天前
|
机器学习/深度学习 人工智能 安全
python和Java的区别以及特性
Python:适合快速开发、易于维护、学习成本低、灵活高效。如果你需要快速上手,写脚本、数据处理、做点机器学习,Python就是你的首选。 Java:适合大型项目、企业级应用,性能要求较高的场景。它类型安全、跨平台能力强,而且有丰富的生态,适合更复杂和规模化的开发。
16 3
|
29天前
|
XML JSON 前端开发
Java @RequestParam和@RequestBody的区别是什么?
【8月更文挑战第28天】Java @RequestParam和@RequestBody的区别是什么?
28 5
|
1月前
|
Java
Java 中 notify() 和 notifyAll() 的区别
【8月更文挑战第22天】
49 4
|
1月前
|
Java
|
1月前
|
存储 安全 Java
Java 中 ArrayList 和 HashSet 的区别
【8月更文挑战第23天】
36 2
|
1月前
|
Java 调度
|
1月前
|
存储 安全 Java
Java 中数组和 ArrayList 的区别
【8月更文挑战第23天】
29 1