对象转换异常:[Ljava.lang.String; cannot be cast to java.lang.String

Entry.getValue() 返回的并不是单个字符串,而是数组。 
所以以下代码将抛出: 
[Ljava.lang.String; cannot be cast to java.lang.String 

Java代码   收藏代码
  1. if(obj instanceof Entry){  
  2.   String param = (String)((Entry)obj).getValue();  
  3.   System.out.println("是的!\t"+param);  
  4. }  



需修改为: 

Java代码   收藏代码
  1. if(obj instanceof Entry){  
  2.     String [] param = (String [])((Entry)obj).getValue();  
  3.     System.out.println("是的!\t"+param[0]);  
  4. }  



注:[Ljava.lang.String@1b634e7  -- 
   "[" 表示一维数组 
    "[["表示二维数组 
    "L"表示一个对象 
    "java.lang.String"表示对象的类型 
    "@"后面表示该对象的HashCode

猜你喜欢

转载自it1990eye0920.iteye.com/blog/2276511