驗證與授權

humu發表於2003-12-15
求教高手:向上轉型?向下轉型?
com.jiveSoftware.forum.database.UserPermissionsCache
中這一句作何解:
ForumPermissions permissions = (ForumPermissions)userPermsCache.get(userID);

我查了 userPermsCache.get(userID) 返回的是一個Cacheable 物件。
雖然ForumPermissions 實現了Cacheable介面,但此處不符合向下 轉型的條件。因為向下轉型要求 userPermsCache.get(userID)得到的本身是一個ForumPermissions 的例項。

上句出自下面這個函式:




public ForumPermissions get(long forumID, long userID) {
if (!isEnabled()) {
return null;
}
//Get the user perm cache for this forum
LongCache userPermsCache = (LongCache)cache.get(forumID);

ForumPermissions permissions = (ForumPermissions)userPermsCache.get(userID);//問題
if (permissions != null) {
return permissions;
}
else {
return null;
}
}

相關文章