Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Ругается uses unchecked or unsafe operations


Автор: Zamuta 10.7.2007, 22:24
Компилирую вот это:

Код

public class SessionManager {    
   
    public SessionManager() {
    }   
    
    protected Object getSessionMapValue(String key) {
        return FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(key);
    }
    
    protected void setSessionMapValue(String key, Object value) {
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(key, value);
    }
    
    protected Map getSessionMap(){
        return FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
    }
    
    protected boolean checkKeyInSession(String key){
        return FacesContext.getCurrentInstance().getExternalContext().getSessionMap().containsKey(key);
    }
}


NetBeans 5.5 говорит src\java\tbl\SessionManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

На что смотреть?

Автор: batigoal 11.7.2007, 08:12
Видимо, у тебя Java 5 либо 6. Компилятор призывает тебя использовать параметризованные коллекции.

Либо добавь компилятору опцию -Xlint:unchecked, либо уточни Map<...>.

Автор: Tony 11.7.2007, 12:16
Dobav' 
Код

@SuppressWarnings("unchecked")

k kodu.

Автор: Zamuta 11.7.2007, 21:28
batigoal, 
Цитата

Видимо, у тебя Java 5 либо 6. Компилятор призывает тебя использовать параметризованные коллекции.

Либо добавь компилятору опцию -Xlint:unchecked, либо уточни Map<...>. 

Стоит Java 6. Использовать коллекции для хранения объектов сессии? Интерфейс Map не расширяет интерфейс Collection, но тоже принадлежит к Collection Frmwrk. Для хранения объектов в сессии обычно используют Map.

После добавления -Xlint:unchecked к VM options  ничего нового не дало, к сожалению.
Сообщение пропало после добавления
Код

@SuppressWarnings("unchecked")
 protected void setSessionMapValue(String key, Object value) {
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(key, value);
    }

@SuppressWarnings используется для подавления предупреждений, но  какой тип Map мне тогда использовать для хранения объектов сессии? Или просто не обращать внимание на это предупреждение?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)