前言:我们项目需要从c#语言转换为java语言,下面我们需要讨论的是怎么把C#枚举转换成java枚举。
将C#语言转成java语言?你可能会说,嘿,这不是轻而易举的是么?
事实证明这不是。
c#中的枚举可以自我进行位运算,而java的枚举不可以。也许你又会说,嘿,这不也简单么?java获取到具体的枚举值再进行位运算不就可以了么?
不行!
举个栗子:
现有枚举
//C#代码
public enum Permission {
None(“None”0),
Eidit(“Edite”,1<<1),
Print(“Print”1<<2),
Read(“Read”,1<<3),
Copy(“Copy”1<<4),;
}
如果转成java代码就是下面这个样子
java代码
//引包略
//Java 代码
public enum Permission {
None(“None”0),
Eidit(“Edite”,1<<1),
Print(“Print”1<<2),
Read(“Read”,1<<3),
Copy(“Copy”1<<4),;
private String name;
private int value;
Permission(String name,int value){
this.name = name
this.value=value;
}
public String getName(){
return this.name
}
public int getValue(){
return this.value;//End
}
//根据枚举value值获取枚举
public static Permission getPermissionFromValue(int Value){
Permission[] permissions = Permission.values();
for (int i = 0; permissions.length();i++){
if(value==permissions[i]){
return permissions[i]
}
return null;
}
}
}
好了,现在我们需要做位运算,需要将Read权限跟Copy权限并