[java.lang.String中;无法强制转换为java.lang.String
发布时间:2020-12-14 05:33:35 所属栏目:Java 来源:网络整理
导读:我正在从产品的API中获取Vector. Vector? dataVector = dataAPI.getReturnVector(); 期望向量包含字符串作为值.我能够将矢量的大小打印为2.但由于某种原因,我无法迭代和打印值. 我试过了 Iterator? iter = dataVector.iterator();while( iter.hasNext()) { S
我正在从产品的API中获取Vector.
Vector<?> dataVector = dataAPI.getReturnVector(); 期望向量包含字符串作为值.我能够将矢量的大小打印为2.但由于某种原因,我无法迭代和打印值. 我试过了 Iterator<?> iter = dataVector.iterator(); while( iter.hasNext()) { System.out.println(iter.next()); } 我总是得到一个 [java.lang.String; cannot be cast to java.lang.String 我用了 iter.next().getClass().getName() 它原来只是java.lang.String. 我google了一下,在http://prideafrica.blogspot.com/2007/01/javalangclasscastexception.html发现了类似的问题 我试图将泛型设置为String [],但最终出现了相同的错误. 如果向量包含java.lang.String,为什么我会得到这个强制转换异常?如何打印实际值? 请提供您的建议. 解决方法
因此,API不会返回字符串向量,而是返回String []的向量.
您应该能够迭代向量,然后,对于每个元素,循环遍历数组. Iterator<String[]> iter = dataVector.iterator(); while( iter.hasNext()) { String[] array = iter.next(); for(int i=0; i < array.length; i++) { System.out.println(i + ": " + array[i]); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |