在java方法中泛化参数

时间:2013-05-31 15:15:32

标签: java list syntax

所以我有两种方法:

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&gt;)

这在概念上不可能用Java吗?我错过了什么?我读过Q&amp; A看似相似,但没有人完全回答这个问题。提前致谢。 干杯!

1 个答案:

答案 0 :(得分:2)

这个应该可以解决问题:

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