得到的数据还是,而不是null
因為在我的记忆里,对象是按照引用传递的所以在调用这个isSpecialDate(olissuePublishDate);
方法时,如果方法内部改变了对象那么外部的也会得到改变。
网上查询资料後才知道java
本质上只有按值传递
;
无论引用类型或基本类型,当作为参数传递给一个方法时两种类型都是按值传递的。
按值传递意味着當将一个参数传递给一个方法时方法接收的是原始值的一个副本。
Java 编程语言只有值传递参数当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是詠远不会改变的
只不过,当把java以对象作为参数参数传递时可以通过该副本引用改变该对象的的属性。
而我上面程序在方法里issuePublishDate = null;
这里已经對变量重新赋值了此时的变量issuePublishDate
已经不再是参数传进来的那个引用啦!所以自然就不会影响外面的原值。