应该怎样IEquatable<T>.Equals(T obj)做时,this == null和obj == null?
1)该代码在实现时由F#编译器生成IEquatable<T>.您可以看到它true在两个对象都返回时返回null:
public sealed override bool Equals(T obj)
{
if (this == null)
{
return obj == null;
}
if (obj == null)
{
return false;
}
// Code when both this and obj are not null.
}
2)类似的代码可以在" IEquatable实现是必要的引用检查 "或" 是否有完整的IEquatable实现引用? "的问题中找到.false两个对象都返回此代码null.
public sealed override bool Equals(T obj)
{
if (obj == null)
{
return false; … 看来,OpenJDK的8位私有方法不属于final也不static成虚函数表.为什么当动态绑定不用于私有方法时(因为它们是用invokespecial调用的)或是否使用它?