繁体   English   中英

泛型方法签名

[英]Generics method signature

我有2个不同类型的不同地图,这两个地图都是BaseClass子类。

我希望能够使用相同的逻辑将两个案例中的项目“保存”到地图中,使用Generics。

假设getIdBaseClass的方法。

我需要强迫

  1. itemBaseClass的子类
  2. map值与item类型相同

我怎样才能做到这一点? 这是一个失败的尝试,它描述了我需要做的事情:

private <T><?extends BaseClass> void save(T item, Map<Long, T> map)
{
    if (item.getId() == null)
    {
        long max = -1;
        for (Long key : map.keySet())
            max = Math.max(max, key);
        item.setId(max + 1);
    }
    map.put(item.getId(), item);
}

这部分

<T><?extends BaseClass>

需要是

<T extends BaseClass>

也可以看看:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM