如何让同一个方法能够接受不同类型的参数

追寻月亮 2011-12-29 03:26:49
我要写一个通用的方法处理同一类事务。譬如说排序。
public void sort(List<Student> stuArr){
。。。。。
}
public void sort(List<Teacher> teaArr){
。。。。。
}
里面的处理方法都是一样,就是传入参数类型不一样。如何能整合成一个方法。求大家指教!!!
...全文
1742 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
funfenffun 2011-12-30
  • 打赏
  • 举报
回复
用泛型就行
public void sort(List stuArr)
public void sort(List<?> stuArr)
public void sort(List<? extends Person> stuArr)

lz这个排序应该是根据student,teacher类的某一个字段排序吧,
这就要加comparator比较器或者comparable接口了,

要先判断传进来的list里面的元素类型,调用相应的比较方法
休谱诺斯 2011-12-30
  • 打赏
  • 举报
回复
泛型去了就行了
diaoxuefeng 2011-12-30
  • 打赏
  • 举报
回复
写个无参的,然后调用
zhangyu443595068 2011-12-29
  • 打赏
  • 举报
回复
使用object的参数就Ok啦
lvhongfen 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 soli11722984 的回复:]
泛型不能當作不同的參數類型,所以上面的,只能看成
public void sort(List stuArr)

public void sort(List<?> stuArr)
[/Quote]

顶!
cacoda 2011-12-29
  • 打赏
  • 举报
回复
Object不行吗?
public void Sort(List<Object> arr){

}
孤雨 2011-12-29
  • 打赏
  • 举报
回复
这个用多态应该能解决,写一个父类,通过子类实列化父类应该就可以了吧。
xieyushi 2011-12-29
  • 打赏
  • 举报
回复
接收不同类型的变量,能做同样的处理的吗?你这样写,方法里面的代码就会很多的吧...
我看还是用多态,用一个父类就行了.这样也比较好理解一点.
zhouyusunquan 2011-12-29
  • 打赏
  • 举报
回复
public void sort(Object obj)
三味书屋 2011-12-29
  • 打赏
  • 举报
回复
public void sort(List<Object> teaArr) 获取写个父类,让子类继承。
croMarcot 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dntg007 的回复:]

既然处理是一样的,就说明某些东西是学生和老师是共同的。可建一个父类Person,学生和老师都继承于这个父类。参数使用List<Person>,就OK了。
[/Quote]


就是用这个方法。。。。。。。
fireelf000 2011-12-29
  • 打赏
  • 举报
回复
public void sort(List<?> stuArr, String paramName)
paramName是要排序的属性名
在方法中通过反射获取属性值,然后比较排序
dntg007 2011-12-29
  • 打赏
  • 举报
回复
既然处理是一样的,就说明某些东西是学生和老师是共同的。可建一个父类Person,学生和老师都继承于这个父类。参数使用List<Person>,就OK了。
soli11722984 2011-12-29
  • 打赏
  • 举报
回复
泛型不能當作不同的參數類型,所以上面的,只能看成
public void sort(List stuArr)

public void sort(List<?> stuArr)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧