我有一個問題,我現在無法弄清楚。我有一個類作爲Iframe,它具有變量「private List pathContainer」來維護Iframe的路徑。通過ArrayList正在更新+ Java
考慮的是它的代碼,
public class IFrame implements HtmlElement {
private WebElement elem;
private String xpath;
private boolean selected;
private String parentClass;
private boolean isProcessed=false;
private boolean isIframeContent=false;
private List <String> pathContainer;
public IFrame(WebElement elem) {
this.elem = elem;
pathContainer=new ArrayList<String>();
}
我傳遞一個父iframe的路徑列表,子IFRAME將其包含在它的清單。但是,當我修改子圖框路徑列表時,父級Iframe路徑列表也被更改。由於是函數的代碼,
public void LoadIFrameNodes(List<String> parentPath){
IFrame iframe=new IFrame(e);
List <String> tempPath=new ArrayList<String>();
iframe.setPathContainer(parentPath); //assigning parent path in subIframe list
tempPath=iframe.getPathContainer();
tempPath.add(iframe.getXpath()); // add another value to subIframe
iframe.setPathContainer(tempPath); //setting the changed list as the subIframe
}
一旦該subIframe設置新的價值觀,傳遞parentPath名單也被用新值改變。我沒有通過要更新的列表。請讓我知道哪裏出了問題?
只需複製清單後傳入或通過它之前。 –
您可以執行'列表 tempParentPath =新的ArrayList (parentPath);' –