ClassCastException:java.lang.String不能强制转换为Ljava.lang.String
我得到这个错误->ClassCastException:java.lang.String不能强制转换为Ljava.lang.String,java,arrays,string,casting,Java,Arrays,String,Casting,我得到这个错误-> java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.String; 从下面粘贴的代码 public class LoginAttemps extends Setup { public void testSearchCountry() throws Exception { driver.get("http://www.wikipedia.org/wi
java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.String;
从下面粘贴的代码
public class LoginAttemps extends Setup {
public void testSearchCountry() throws Exception {
driver.get("http://www.wikipedia.org/wiki/Main_Page");
ReadExcelDemo readXls = new ReadExcelDemo();
List dataList = readXls.getData();
for (int i = 1; i < dataList.size(); i++) {
String[] testCase = new String[5];
String[] test = (String[]) dataList.get(i);
String countryName = test[0];
String countryDesc = test[1];
driver.findElement(By.id("searchInput")).clear();
driver.findElement(By.id("searchInput")).sendKeys(countryName);
driver.findElement(By.id("searchButton")).click();
String str = driver.findElement(
By.xpath("//h1[@id='firstHeading']/span")).getText();
System.out.println(countryDesc);
Assert.assertTrue(str.contains(countryName));
}
}
}
public class LoginAttemps扩展了安装程序{
public void testSearchCountry()引发异常{
驱动程序。获取(“http://www.wikipedia.org/wiki/Main_Page");
ReadExcelDemo readXls=新的ReadExcelDemo();
List dataList=readXls.getData();
对于(int i=1;i
我认为问题在于String[]test=(String[])dataList.get(I)代码>
但是我不确定是否能解决这个异常。。有什么线索吗?你不能将“字符串”转换成“字符串数组”
只能将字符串放入数组中的插槽中
您可以做的是:
String theString = "whatever";
String[] myStrings = { theString };
查看代码,我相信您正在尝试将列表转换为数组,因此您的“问题行”应该如下所示:
String[] test = (String[]) dataList.toArray(new String[dataList.size]);
原因:“i”位置的元素为字符串类型。然而,您正试图将其转换为字符串数组
直接解决方案:从两侧移除[],即从以下位置更改:
String[] test = (String[]) dataList.get(i);
致:
如果您的列表不包含任何类型的数组,这将起作用。谢谢大家。是的,我正在尝试将列表对象强制转换为字符串数组。我发现了问题。更正代码
public void testSearchCountry() throws Exception {
driver.get("http://www.wikipedia.org/wiki/Main_Page");
ReadExcelDemo readXls = new ReadExcelDemo();
List dataList = readXls.getData();
String[] test = new String[dataList.size()];
for (int i = 1; i < dataList.size(); i++) {
String[] testCase = new String[5];
test[i] = dataList.get(i).toString();
String countryName = test[0];
String countryDesc = test[1];
driver.findElement(By.id("searchInput")).clear();
driver.findElement(By.id("searchInput")).sendKeys(countryName);
driver.findElement(By.id("searchButton")).click();
String str = driver.findElement(
By.xpath("//h1[@id='firstHeading']/span")).getText();
System.out.println(countryDesc);
Assert.assertTrue(str.contains(countryName));
}
}
public void testSearchCountry()引发异常{
驱动程序。获取(“http://www.wikipedia.org/wiki/Main_Page");
ReadExcelDemo readXls=新的ReadExcelDemo();
List dataList=readXls.getData();
String[]test=新字符串[dataList.size()];
对于(int i=1;i
它成功了
public void testSearchCountry() throws Exception {
driver.get("http://www.wikipedia.org/wiki/Main_Page");
ReadExcelDemo readXls = new ReadExcelDemo();
List dataList = readXls.getData();
String[] test = new String[dataList.size()];
for (int i = 1; i < dataList.size(); i++) {
String[] testCase = new String[5];
test[i] = dataList.get(i).toString();
String countryName = test[0];
String countryDesc = test[1];
driver.findElement(By.id("searchInput")).clear();
driver.findElement(By.id("searchInput")).sendKeys(countryName);
driver.findElement(By.id("searchButton")).click();
String str = driver.findElement(
By.xpath("//h1[@id='firstHeading']/span")).getText();
System.out.println(countryDesc);
Assert.assertTrue(str.contains(countryName));
}
}