(二)自定义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函数,并没有报错,参数类型不对。
为什么会这样呢?入参一个是整形,一个是字符。不同的类型。
看来是没有真正的理解泛型。