public class Class1{
public enum Enum1 {
A("title") {
public void process(SomeClass a) {
String value = a.getTitle();
}
}, B("name") {
public void process(SomeClass b) {
String value = b.getName();
}
}
public class Class2{
public enum Enum2 {
A("title") {
public void process(SomeClass a) {
String value = a.getTitle();
}
}, C("desc") {
public void process(SomeClass b) {
String value = b.getDesc();
}
}具有共同枚举A的Class1和Class2。如何将这两个通用枚举转换为通用枚举?
发布于 2015-07-28 14:32:34
为什么不自己创建一个包含如下内容的枚举文件:
public enum Enum {
A {
public void process(Object b) {
//Do something
}
},
B {
public void process(Object b) {
//Do something
}
},
C {
public void process(Object b) {
//Do something
}
};
public void process(Object b) {
//Do something
}
}您可以将此枚举导入到其他类中,并非常简单地使用:
public static void main(String[] args) {
Enum a = Enum.A;
a.process("123");
}发布于 2015-07-28 21:42:12
这个代码快照怎么样?你在找这个吗?
public class Component {
private String name;
private String title;
public Component(String name, String title) {
this.name = name;
this.title = title;
}
public String getName() {
return this.name;
}
public String getTitle() {
return this.title;
}
public static void main(String[] args) {
Class1 class1 = new Class1(FieldsEnum.NAME);
class1.process();
Class2 class2 = new Class2(FieldsEnum.TITLE);
class2.process();
}
}
enum FieldsEnum {
TITLE {
public void process(Component component) {
System.out.println("Process with : " + component.getTitle());
}
},
NAME {
public void process(Component component) {
System.out.println("Process with : " + component.getName());
}
};
public abstract void process(Component component);
}
class Base {
public Base(FieldsEnum field) {
this.field = field;
}
private FieldsEnum field;
public FieldsEnum getField() {
return field;
}
public void setField(FieldsEnum field) {
this.field = field;
}
public void process() {
this.field.process(new Component("HomePage", "HomeTitle"));
}
}
class Class1 extends Base {
public Class1(FieldsEnum field) {
super(field);
}
// do you class1 specific work here
}
class Class2 extends Base {
public Class2(FieldsEnum field) {
super(field);
}
// do you class2 specific work here
}https://stackoverflow.com/questions/31668654
复制相似问题