2013-03-23 107 views
0

后,我得到以下警告未经检查或不安全的操作甚至指定类型

注:COM ....... \ BeerSelect.java使用未经检查或不安全的操作。 注意:使用-Xlint重新编译:取消选中以获取详细信息。

我也指定了类型。我想知道原因而不是使用@SupressWarning选项。

我检查了其它线程以及 What causes javac to issue the "uses unchecked or unsafe operations" warning

的下面是一段代码..

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); 
} 

}

任何形式的帮助理解..由于

回答

0

尝试使用

Iterator<String> 

而不是迭代器 发生这种情况是因为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类,例如,如果它返回列表,而不是列出这样的:

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>(); 
} 

}

希望这有助于

+0

感谢您的帮助。但是,我想“迭代”,但仍我得到了同样的警告.. 更正了它在问题中的警告。 – user2202786 2013-03-23 17:50:20

+0

嗯,我想你应该在这里发布警告。它应该在代码中的一个确切的行中引起此警告 – 2013-03-23 19:15:23

+0

Am在帖子中获得与上述相同的警告消息.. 注意:com ....... \ BeerSelect.java使用未经检查或不安全的操作。 注:重新编译-Xlint:未选中的细节 – user2202786 2013-03-23 22:24:29

相关问题