【发布时间】:2011-09-30 03:18:07
【问题描述】:
问题发生在返回 this.permission.contains(permission);
package sef.module15.activity;
import java.util.HashSet;
import java.util.Set;
public class PermissionList implements Permissable {
private Set<Permission> permission;
/**
* Creates a permission object and provides an identifier for it
*
* @param permissionID
*/
public PermissionList(String permissionID) {
if (permissionID == null) {
this.permission = new HashSet<Permission>();
}
}
public Set<Permission> getPermission() {
return permission;
}
public void removePermission(Permission... permission) {
this.permission.remove(permission);
}
public void setPermission(Permission... permission) {
if (permission == null) {
setPermission(permission);
}
}
public boolean isPermissable(Permission permission) {
return this.permission.contains(permission);
}
}
这是permissable.java
package sef.module15.activity;
import java.util.Set;
public interface Permissable {
public void setPermission(Permission... permission);
public void removePermission(Permission... permission);
public Set<Permission> getPermission();
public boolean isPermissable(Permission permission);
}
这里是permission.java
package sef.module15.activity;
public enum Permission {
READ,
WRITE,
CREATE,
DELETE,
EXECUTE;
}
【问题讨论】:
-
什么是“调用代码”,即谁调用了这个类及其方法?
-
setPermission 如果权限也为空,则看起来有点递归。
-
更新了调用类和涉及的方法
-
不够。 WHERE 是实现接口的具体类和它调用的实际方法???当您遇到异常时,调用流程 = 堆栈跟踪打印! (您的相关类)使用调用 setPermission 或 getPermission 等的实际代码行进行更新,
标签: java null nullpointerexception