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

  • Post author:
  • Post category:java


[ 表示一维数组,[[ 二维数组

“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";
    }