(二)自定义Objects.equals方法

2018-01-02  本文已影响0人  50e383299c68

想到用泛型定义方法。

public class ObjectUtil {
    public static <T> Boolean equals(T a, T b) {
        return (a == b) || (null != a && a.equals(b));
    }
}

两个入参限制了相同的参数类型T。
下面是测试代码

public class ObjectUtil {
    public static void main(String[] args) {
        Integer iA = 1;
        String  cStr = "3";
        System.out.println(ObjectUtil.equals(iA, cStr));
        System.out.println(Objects.equals(iA, cStr));
    }
}

运行main函数,并没有报错,参数类型不对。
为什么会这样呢?入参一个是整形,一个是字符。不同的类型。
看来是没有真正的理解泛型。

上一篇 下一篇

猜你喜欢

热点阅读