类型的子类其实应该叫子集更合适

发布时间 2023-12-06 22:50:28作者: Silentdoer

而子集是针对类型而言的,比如A extends B,那么A是B的子集;

注意,这里是A类型是B类型的子集,而不是A类型对象是B类型对象的子集;

而A类型是B类型的子集,表示 B类型  比  A类型  能承载的对象 更广

所以int是long类型的子集,因为long类型 比 int类型 能承载的对象 更广;

所以int <: long,A <: B,这里<:不是 A的对象 小于 B的对象的意思,一定要谨记,是类型与类型的比较,和它们的实例的比较无关;

所以int <: int?,因为int除了能承载int类型的所有对象,还能承载Null类型的所有对象(就是null)