我正在使用以下代码从Spring身份验证类中提取deviceId
。如何摆脱“类型安全:从对象到地图<字符串,字符串>未经检查转换”
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import com.google.common.base.Optional;
public static Optional<String> getId() {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (!auth.isAuthenticated()) {
return Optional.absent();
}
// I see a warning as "Type safety: Unchecked cast from Object to Map<String,String>"
Map<String, String> details = (Map<String, String>) auth.getDetails();
return Optional.of(details.get("deviceId"));
}
如何渡过这个类型的安全警告信息?我想避免添加Suprress Warnings
标签。
类型安全:未选中从
Object
转换为Map<String,String>
如果这可能,我会感到惊讶。 –