Я размышлял над этим фрагментом кода в selenium webdriver. Теперь я понимаю, что интерфейсы не могут быть созданы, и что для этого мы должны сделать это через класс, который реализует то же самое.Как объявить переменную типа Интерфейс сказать Список и присвоить значение напрямую?
код, как показано ниже:
List<WebElement> divElements ;
divElements = driver.findElements(By.tagName("div"));
Можно назначить значения, как показано выше (почему?) Или он должен не быть:
List<WebElement> divElements=new ArrayList<>(); ;
divElements = driver.findElements(By.tagName("div"));
Как это то, что код 1 работает «Если бы кто-нибудь мог уточнить.
Как вы думаете, что происходит с созданным ArrayList (в примере кода 2), когда вы вызываете 'divElements = ...' впоследствии? – Tom
Я думал, что мы инициализируем список массивов, когда я использую divElements = driver.findElements (By.tagName («div»)); – Jagori
Это правильно. И именно по этой причине вам не нужно вызывать 'new ArrayList <>()'. Объект, который будет создан там, будет «потерян» и мусор, собранный после нового назначения. – Tom