第一次月考总结与反思
扩展阅读:java中null和“”的区别详解
null和""的区别问题一:
null和""的区别strings=null;
string.trim就会抛出为空的exceptionstrings="";
string.trim就不会抛,为什么。答。
null代表声明了一个空对象,根本就不是一个字符串。
""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。
null代表声明了一个空对象,对空对象做任何操作都不行的,除了=和==""是一个字符串了,只是这个字符串里面没有内容了
strings=null;只是定义了一个句柄,也就是说你有了个引用,但是这个引用未指乡任何内存空间
strings="";这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东了,所以你可以对它操作,而不用担心什么了
你说数字0和没有是不是一种概念啊。。道理一样的
而且,null可以赋值给任何对象.""就不行了.
这里""和null绝对是两个概念
""代表一个字符串存在,它的值就是“”
null代表字符串根本没有实际的值,你并不知道它是什么。。。
哦,我明白了,意思就是stringstring=null跟stringstring;是一回事儿
null是空对象""是空字符串
strings=null;//null是未分配堆内存空间
stringa;//分配了一个内存空间,没存入任何对象stringa="";//分配了一个内存空间,存了一个字符串对象
问题二:
strings;和strings=null;和strings="a";有什么区别。
针对这三种情况,使用out.println(s);的时候,第一个会出现异常,第二个会输出null.第三个则会输出a.
这是为什么呢。这三句声明语句,各自作了什么呢。答。
第一个只是定义了一个string类型变量s,并没有给它赋初值,在java中,默认在使用一个变量的时候必须赋予它初值(降低风险)。第二个和第三个都定义了string类型变量s,并赋予它初值,只不过第二个赋予的值为null(空)罢了
主要要理解的是strings;s为一个引用~~它不是对象第一个是没有初始化的引用;第二个为空引用;
(未完,全文共2735字,当前显示911字)
(请认真阅读下面的提示信息)