【问题标题】:How can I solve this Java warning?如何解决这个 Java 警告?
【发布时间】:2016-04-20 23:33:34
【问题描述】:

我讨厌使用参数,它们为糟糕的代码实践和错误敞开了大门。但是人们确实经常使用它们,所以我试着忍受它。

我正在努力解决这个警告条件,但是我不知道如何正确解决这个问题。

/**
 * Enables incoming connections from any remote address and disables authentication (cross-origin access should be blocked
 * when entering in production).
 * 
 * @param serverResource
 * @return
 */
private static Series<Header> configureRestForm(ServerResource serverResource) {
    final Object responseHeaders = serverResource.getResponse().getAttributes().get("org.restlet.http.headers");
    final Series<Header> headers;
    if (responseHeaders instanceof Series<?>) {
        headers = (Series<Header>) responseHeaders;
    } else {
        headers = new Series<Header>(Header.class);
        serverResource.getResponse().getAttributes().put("org.restlet.http.headers", headers);
    }
    headers.add("Access-Control-Allow-Origin", "*");
    headers.add("Access-Control-Allow-Methods", "GET, POST, PUT, OPTIONS");
    headers.add("Access-Control-Allow-Headers", "Content-Type");
    headers.add("Access-Control-Allow-Credentials", "false");
    headers.add("Access-Control-Max-Age", "60");
    return headers;
}

我该怎么办?

谢谢!

【问题讨论】:

  • 一种可能性:将 SupressWarnings 作为注释添加到方法中,正如您在警告对话框本身中看到的那样。
  • 每个演员表都是脏的。另一种可能性是适配器模式。
  • 你必须强制转换......没有其他可能性,因为 serverResource.getResponse().getAttributes() 返回一个对象。应用 SupressWarnings 将使 eclipse 认识到您已经接受失败并允许警告保留在那里..

标签: java eclipse checkstyle findbugs


【解决方案1】:

你可以使用@SuppressWarnings("unchecked")注解或者试试 更改 Eclipse 首选项:Java-&gt;Compiler-&gt;Errors/Warnings-&gt;Generic types 并选中 Ignore unavoidable generic type problems 复选框

【讨论】:

  • 在代码中你只能使用 SuppressWarnings 注释。参数化泛型(地图或列表等)没有其他解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多