Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
请解释一下这两种说法有什么不同。
第一条语句抛出异常,第二条语句返回布尔值
Version a = null; if(a.Equals(null)) // throw the exception if(Equals(a,null)) // return the bool value true
a.Equals不初始化对象就不能调用a,否则会抛出异常NullReferenceExcption,但是Equals是一个静态方法,它会检查传递给它的两个引用是否相同,这些引用可以有空值。
a.Equals
a
NullReferenceExcption
Equals
a.Equals是一个实例方法 - 如果a是null它会抛出 aNullReferenceExcption因为你正在调用一个ais的方法null。
null
另Equals一种是静态方法Object-它不会抛出。如果两个对象都被传入,null则返回true。
Object
true