Java空字符串与null区别
来源:互联网 发布:万网域名信息查询 编辑:程序博客网 时间:2024/04/29 05:17
Java空字符串与null区别:
1、类型
null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;
2、内存分配
String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;
String str = ""; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;
在java中变量和引用变量是存在栈中(stack),而对象(new产生的)都是存放在堆中(heap):
就如下:
String str = new String("abc") ;
ps:=左边的是存放在栈中(stack),=右边是存放在堆中(heap)。
3、示例程序:
public class String_Demo01 { /** * @param args */ public static void main(String[] args) { String str1 = new String() ; String str2 = null ; String str3 = "" ; System.out.println(str1==str2); //内存地址的比较,返回false System.out.println(str1.equals(str2)); //值的比较,返回false System.out.println(str2==str3); //内存地址的比较,返回false System.out.println(str3.equals(str2)); //值的比较,返回false System.out.println(str1==str3); //内存地址的比较,返回false System.out.println(str1.equals(str3)); //值的比较,返回true }}
通过如上的程序可以得出如下结论:
- 字符串对象与null的值不相等,且内存地址也不相等;
- 空字符串对象与null的值不相等,且内存地址也不相等;
- 创建一个字符串对象的默认值为""
0 0
- java 空字符串与null区别
- java 空字符串与null区别
- java 空字符串与null区别
- java 空字符串与null区别
- Java空字符串与null区别:
- java 空字符串与null区别
- Java空字符串与null区别:
- java 空字符串与null区别
- Java空字符串与null区别
- java 空字符串与null区别
- java 空字符串与null区别
- java 空字符串与null区别
- Java空字符串与null区别
- Java空字符串与null区别
- Java空字符串与null区别
- Java空字符串与null区别
- Java空字符串与null的区别
- Java空字符串、字符串空对象与null的区别
- 实验四:数组排列
- Particle System
- Python实现简单的爬虫获取某刀网的更新数据
- 关于Servlet中forward的执行流程
- Java并发——volatile
- Java空字符串与null区别
- python搭建
- PowerDesigner 设置Table表的颜色(例如:PK(主键),FK(外键),字体大小等)
- 大数据学习——Sqoop入门使用
- C++ vector对象的学习与整理
- jvm运行机制
- Android studio快速取得app的SHA1值
- struts2中constant参数设置
- JavaScript中的变量声明