0

次の警告が表示されます

注: com.......\BeerSelect.java は未チェックまたは安全でない操作を使用します。注: 詳細については、-Xlint:unchecked で再コンパイルしてください。

タイプも指定しました. @SupressWarning オプションを使うよりも理由を知りたいです。

他のスレッドもチェックしました javacが「未チェックまたは安全でない操作を使用しています」という警告を発行する原因

以下はコードの一部です..

    package com.example.web;

    import com.example.model.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;

    public class BeerSelect extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws     IOException, ServletException{
    String c = request.getParameter("color");
    BeerExpert be = new BeerExpert();
    List<String> result = be.getBrands(c);
    ServletContext sc = this.getServletConfig.getServletContext();


    request.setAttribute("styles",result);
    RequestDispatcher view =    getServletConfig.getServletContext().getRequestDispathcer("result.jsp");

    view.forward(request,response); 
}

}

どんな種類の助けも大歓迎です..ありがとう

4

1 に答える 1

0

使ってみて

Iterator<String>

Iterator の代わりに これは、Iterator インターフェイスが生成されているために発生します。ところで、これはエラーではなく単なる警告です。お役に立てれば

こんにちは、コードを少し変更しました。警告なしでコンパイルされるはずです。

public class BeerSelect extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws     IOException, ServletException{
    String c = request.getParameter("color");
    BeerExpert be = new BeerExpert();
    List<String> result = be.getBrands(c);
    ServletContext sc = this.getServletConfig().getServletContext();
    request.setAttribute("styles",result);
    RequestDispatcher view = sc.getRequestDispatcher("result.jsp");

    view.forward(request,response);
}

}

ここでそのような警告を取得する唯一の方法は BeerExpert クラスからだと思います。たとえば、次のように List ではなく List を返す場合:

public class BeerExpert {

public List getBrands(String color) {
    return new ArrayList(); // really dumb implementation, you should have something smarter here
}

}

これをチェックして、必要に応じて次のように変更することをお勧めします。

public class BeerExpert {

public List<String> getBrands(String color) {
    return new ArrayList<String>();
}

}

お役に立てれば

于 2013-03-23T17:26:11.700 に答える