关于[Ljava.lang.String;不能转换为java.lang.String错误

[ 表示一维数组,[[ 二维数组
“L”代表这个数组是指定引用数据类型的数组.
所以说,这个错误是类型转换错误。字符串数组不能转化为字符串。
遇到这个错误是在struts2框架的拦截器中,我想从拦截器中得到请求的参数。所以调用了ActionContext的getContext方法。将获得的ActionContext实例调用它的getParameters()方法来得到它所有的参数列表(Map)。再通过map来获取其中的值。但是,

String cid = (String) ActionContext.getContext().getParameters().get("cid");
System.out.println(cid);

调用上述代码将报这个错误。代码修改之后就可以正常执行了。正确代码如下:

public String getCategorySecond(){
        String[] cid = (String[]) ActionContext.getContext().getParameters().get("cid");
        System.out.println(cid[0]);
        return "addPageSuccess";
    }

你可能感兴趣的:(开发实践)