繁体   English   中英

在java方法中泛化参数

[英]Generalizing parameters in a java method

所以我有两种方法:

private void updateJobType(, Boolean addTarget, JobType target) {
 if (addTarget == Boolean.TRUE) {
        jobTypes.add(target);
   } else {
        jobTypes.remove(target);
  }
 }

private void updateSearchStatus( Boolean addTarget, JobStatus target) {
  if (addTarget == Boolean.TRUE) {
     searchStatus.add(target);
  } else {
     searchStatus.remove(target);
  }

我想将其概括为:

private void updateList(Boolean addItem, Object item, List<Object> list) {
       if (addItem == Boolean.TRUE) {
          list.add(item);
        } else {
          list.remove(item);
        }
 }

但是当我打电话时:

updateList(Boolean.True, JobType.FULL_TIME, jobTypes);

我收到一个错误:

JobSearch中的updateList()无法应用于:

预期参数:“java.util.list”

实际参数:jobTypes(java ... domain.job.JobType>)

在Java中,这在概念上是不可能的吗? 我错过了什么? 我读过看起来很相似的问答,但没有人完全回答这个问题。 提前致谢。 干杯!

这个应该做的伎俩:

private <T> void updateList(Boolean addItem, T item, java.util.List<T> list) { //...

暂无
暂无

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

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