我的 Eclipse 遇到了这个奇怪的问题。收到此错误
The type Set is not generic; it cannot be parameterized with arguments <Integer>
我再次清理并构建了我的项目。检查了我的配置构建路径并确保JRESystemLibrary在顺序和导出中高于MavenDependencies 。
谷歌搜索,但我找不到我的代码有任何问题。为什么会弹出错误。
当您调用Set
它时,它被视为您的类Set,而不是java.util.Set
.
将声明更改为java.util.Set
,它应该得到解决。
您的主要方法认为 Set 是它包含的类。
你想要 java.util.Set
我的建议是重命名你的班级:p
我也遇到了同样的错误,但仅通过更改项目的某些属性即可解决。
右键单击您的项目->属性->从右侧面板中选择“Java构建路径”->选择“订购和导出”选项卡->单击您的JRE系统库或JDK库->单击“向上”按钮并将其移动到第一个位置->单击确定并清理并构建您的项目。
如果有任何依赖项,请对所有其他依赖项项目重复此操作。
它解决了我的问题,因为以前 java 文件不是从 jre 包中选择其他库和包,因为它是按最后优先级排序的。
谢谢,Shwetank R。
我遇到了同样的问题并按照以下步骤操作
右键单击您的项目->属性->从右侧面板中选择“Java构建路径”->选择“订购和导出”选项卡->并检查JRE系统库是否存在于顶部或不存在出现在 TOP 上选择此项并单击应用。然后新建类
import java.util.Iterator;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.Set;
public class ChildWindow {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver= new FirefoxDriver();
driver.get("https://accounts.google.com/");
driver.manage().window().maximize();
System.out.println("Existing Url");
System.out.println(driver.getTitle());
System.out.println("Url-1");
driver.findElement
(By.xpath(".//*[@id='footer-list']/li[4] /a")).click();
System.out.println(driver.getTitle());
//get all windows ids -driver.getWindowHandles()
Set<String>ids=driver.getWindowHandles();
Iterator<String> it =ids.iterator();
String Childid1=it.next();
String Childid2=it.next();
driver.switchTo().window(Childid2);
System.out.println("2nd Url");
System.out.println(driver.getTitle());
}
}