Java 从HttpSession检索ArrayList时,获取无法将对象转换为ArrayList错误

Java 从HttpSession检索ArrayList时,获取无法将对象转换为ArrayList错误,java,servlets,casting,httpsession,Java,Servlets,Casting,Httpsession,我已将ArrayList保存到会话对象。我正在尝试使用 sriList = session.getAttribute("scannedMatches"); 我收到编译时错误“无法从对象转换为ArrayList”。如何从会话对象获取ArrayList。该方法返回java.lang.object: public java.lang.Object getAttribute(java.lang.String name) 您是否尝试强制转换返回的对象 sriList = (ArrayList)sess

我已将ArrayList保存到会话对象。我正在尝试使用

sriList = session.getAttribute("scannedMatches");
我收到编译时错误“无法从对象转换为ArrayList”。如何从会话对象获取ArrayList。

该方法返回
java.lang.object

public java.lang.Object getAttribute(java.lang.String name)
您是否尝试强制转换返回的对象

sriList = (ArrayList)session.getAttribute("scannedMatches");
该方法返回
java.lang.Object

public java.lang.Object getAttribute(java.lang.String name)
您是否尝试强制转换返回的对象

sriList = (ArrayList)session.getAttribute("scannedMatches");
你必须投下它

sriList = (ArrayList)session.getAttribute("scannedMatches");
你必须投下它

sriList = (ArrayList)session.getAttribute("scannedMatches");
试试这个:

Object scannedMatchesObj = session.getAttribute("scannedMatches");
if ( scannedmatchesObj instanceOf List ){
    sriList = (ArrayList)scannedMatchesObj;
    //Do your stuff...
}
试试这个:

Object scannedMatchesObj = session.getAttribute("scannedMatches");
if ( scannedmatchesObj instanceOf List ){
    sriList = (ArrayList)scannedMatchesObj;
    //Do your stuff...
}

+1
HttpSession#getAttribute()方法返回java.lang.Object:
谢谢-通常我的IDE会在有意义的时候推荐强制转换,所以我认为这里一定有一些不同的地方。这是我们变得依赖IDE的标志吗?我记得用命令行javac在记事本中编程我的第一个应用程序。。。我的第一个大程序,我没有自动完成…在记事本!!你在说什么Zoid.+1
HttpSession#getAttribute()方法返回java.lang.Object:
谢谢-通常我的IDE会在有意义的时候推荐一个cast,所以我认为这里一定有不同的地方。这是我们变得依赖IDE的标志吗?我记得用命令行javac在记事本中编程我的第一个应用程序。。。我的第一个大程序,我没有自动完成…在记事本!!你在说什么Zoid。仅仅因为(scannedmatchesObj instanceof List)是真的,并不一定意味着它是一个ArrayList。根据具体情况,在这里最好将sriList声明为一个列表,并进行相应的强制转换。因为(scannedmatchesObj instanceof List)是真的,并不一定意味着它是一个ArrayList。根据具体情况,在这里最好将sriList声明为列表,并进行相应的强制转换。