小编Rad*_*cek的帖子

当此== null且o​​bj == null时调用IEquatable <T> .Equals(T obj)的结果?

应该怎样IEquatable<T>.Equals(T obj)做时,this == nullobj == 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; …

.net c# f# equality equals

8
推荐指数
1
解决办法
580
查看次数

为什么OpenJDK将私有方法放入vtable?

看来,OpenJDK的8位私有方法不属于final也不static成虚函数表.为什么当动态绑定不用于私有方法时(因为它们是用invokespecial调用的)或是否使用它?

java openjdk jvm bytecode

7
推荐指数
1
解决办法
198
查看次数

标签 统计

.net ×1

bytecode ×1

c# ×1

equality ×1

equals ×1

f# ×1

java ×1

jvm ×1

openjdk ×1