patrząc poprzez kod źródłowy Selen zauważyłem następujące w PageFactory:ponowna deklaracja parametrów
public static <T> T initElements(WebDriver driver, Class<T> pageClassToProxy) {
T page = instantiatePage(driver, pageClassToProxy);
initElements(driver, page);
return page;
}
public static void initElements(WebDriver driver, Object page) {
final WebDriver driverRef = driver;
initElements(new DefaultElementLocatorFactory(driverRef), page);
}
Jakie są korzyści z posiadania następujący wiersz?
final WebDriver driverRef = driver;
Czy nie ma sensu po prostu dokonać ostatecznego parametru, a następnie przekazać go do następnej metody bez deklarowania nowego odniesienia?
Tak. To miałoby więcej sensu. –
Może programista nie był świadomy modyfikatora 'final'? lolz – user1329572
Chociaż to nie odpowiada na pytanie, bardzo podejrzewam, że byłby skompilowany z kodu bajtowego przez jvm jako no-op. – corsiKa