Tag: unchecked

在JSP文件中抑制Java未经检查的警告

我有一个使用jstl和Struts 1标签的遗留webapp。 当我使用Java 5/6预编译JSP文件时,jstl和Struts 1标记会抛出有关“未检查或不安全操作”的警告。 例如,如果我使用以下标记: 抛出以下警告: [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. 如果我使用-Xlint重新编译:unchecked,我会获得有关违规JSP标记库的内部工作的详细信息。 我想压制所有未经检查的操作警告。 我认为使用-Xlint:-unchecked会抑制警告,但事实并非如此。 在编译JSP页面时如何禁止这些警告? 重新编写JSP标记库或更新一千个JSP页面是不切实际的。 我正在寻找一个编译器标志来全局禁用警告,所以我可以看到除了未经检查的警告之外的所有警告。 谢谢!

服务层中的已检查与未检查的例外

我处理具有遗留服务层的项目,如果请求的记录不存在,则在许多地方返回null,或者由于呼叫者未被授权而无法访问。 我在谈论ID要求的特定记录。 例如,类似于: UserService.get(userId); 我最近推动改变这个API,或者补充一个抛出exception的新API。 关于已检查与未经检查的例外的争论随之而来。 从JPA / Hibernate等人的设计者那里得到一个注释,我建议未经检查的exception可能是最合适的。 我的论点是,无法合理地期望API的用户从这些exception中恢复,并且在99%的情况下,我们最多只能通知应用程序用户发生了一些错误。 将运行时exception传播到通用处理机制显然会减少处理边缘情况exception所涉及的大量复杂性和所需的分支处理。 但是,围绕这种方法存在很多问题(这是正确的)。 为什么选择JPA / EJB和Hibernate等项目的设计者使用未经检查的exception模型? 它有充分的理由吗? 有什么利弊。 使用这些框架的开发人员是否仍然可以使用适配器包装器之类的东西处理接近抛出它们的运行时exception? 我希望这些问题的答案可以帮助我们对自己的服务层做出“正确”的决定。

如何使用Java Generics避免未经检查的强制转换警告

不知怎的,我的旧问题已经关闭,所以我开了一个新问题: 我正在使用Java Generics从SQL查询中实现通用双向哈希映射。 它应该能够来回映射String,Integer对的任意组合。 它应该像这样使用: String sql = “SELECT string_val, int_val FROM map_table”; PickMap pm1 = new PickMap(sql); String key1 = “seven”; Integer value1 = pm1.getLeft2Right(key1); Integer key2 = 7; String value2 = pm1.getRightToLeft(key2); 当然应该可以创建一个pm(整数,整数)等等…… 我对Pick Map的实现看起来像这样(没有getter …): public class PickMap { private final HashMap left2Right = new HashMap(); private final HashMap right2Left = new […]

为什么javac抱怨与类的类型参数无关的generics?

请按顺序阅读代码中的注释,问题详情如下。 为什么会发生这种差异? 如果可能,请引用JLS。 import java.util.*; /** * Suppose I have a generic class * @param with a type argument. */ class Generic { // Apart from using T normally, T paramMethod() { return null; } // the class’ interface also contains Generic Java Collections // which are not using T, but unrelated types. List unrelatedMethod() […]