【发布时间】:2015-03-18 01:22:44
【问题描述】:
我在原始界面中使用 Wrapper 获得了这段代码。基于枚举,a 会调用链表的方法,如 putFirst(T data)、putCurrent(T data)、putLast()、removeFirst()、...
...
@Override
public void put(T data, EnumPosition position) {
switch (position) {
case FIRST:
abstrList.putFirst();
break;
case LAST:
abstrList.putLast();
break;
...
default:
throw new NoSuchElementException("something exception...");
}
@Override
public void remove(T data, EnumPosition position) {
switch (position) {
case FIRST:
abstrList.removeFirst(data);
break;
case LAST:
abstrList.removeLast(data);
break;
...
default:
throw new NoSuchElementException("something exception...");
}
我的 EnumPosition 现在看起来很简单。 (可能改变它实现一些接口)
public enum EnumPosition {
FIRST, LAST, CURRENT ...
}
A 想问一下,是否可以移除这个开关并用一些多态性替换它,使用 java 8 中的 lambda 或其他......更有效的东西。
感谢您的帮助
【问题讨论】:
标签: java design-patterns enums polymorphism wrapper