公司建品牌网站好,旅游高端网站建设,wordpress首页排序,如何做高并发网站的架构设计对于每一个Java程序员来说,null肯定是一个让人头痛的东西,今天就来总结一下Java中关于null的知识。 1.null不属于任何类型,可以被转换成任何类型,但是用instanceof永远返回false. 2.null永远不能和八大基本数据类型进行赋值运算等,否则不是编译出错,就是运行出错. 3.null可以…对于每一个Java程序员来说,null肯定是一个让人头痛的东西,今天就来总结一下Java中关于null的知识。 1.null不属于任何类型,可以被转换成任何类型,但是用instanceof永远返回false. 2.null永远不能和八大基本数据类型进行赋值运算等,否则不是编译出错,就是运行出错. 3.null可以和字符串进行运算. 4.同种类型的null,比较都返回true,nullnull也返回true.
下面将用例子来验证上面的四点
首先来看看下面的一道题
public class Null{public static void nihao(){System.out.println(你好陌生人);}public static void main(String[] args){((Null)null).nihao();}}A、你好陌生人
B、编译不通过
C、编译通过执行报错
D、内存溢出
答案是A 下面的总结将使你很清晰的了解到上面程序为什么成为这样的结果
1.null是Java中的关键字,它不属于任何类型,只是一种特殊的值,也可以说说代表一个不确定的对象.
2.null是所有引用类型的默认值. 3.null可以被转化为任何类型,输出null不会抛出任何异常,这和println()的源代码有关. 4.null可以被转化为任何类型,所以可以调用静态方法.
5.null可以被转化为任何类型,但是不能调用非静态方法,运行时会出错.
6.null被强转化任何类型后,它还仅仅是一个特殊值,并不属于任何类型. 7.nullnull返回true,被转换为同种类型的null,都返回true,不同类型直接编译报错. 8.用String转换后的null可以进行字符串运算,这是因为字符串进行连接的时候,编译器对null进行了特别的优化,其实就是例化StringBuilder,在调用append()方法时对null的一个特别处理,当为null时,转化为“null”,最后调用toString()返回一个String对象.
9.用八大基本类型转换后的null,不可以进行基本类型的运算,否则会出现编译或者运行错误. 10.null和“”并不相等,因为下面的s并没有指向某一块内存,而s1指向了一块空字符串的内存.